如何在 Grails/Spring Security 插件中禁用 /login/auth
Posted
技术标签:
【中文标题】如何在 Grails/Spring Security 插件中禁用 /login/auth【英文标题】:How to disable /login/auth in Grails/Spring Security plugin 【发布时间】:2012-01-28 18:22:30 【问题描述】:我正在尝试使用 Spring Security 插件在 Grails 中设置一个系统,该插件仅允许通过 Pre-Authentication 机制进行身份验证。
我想要发生的是,如果用户在未经身份验证的情况下尝试访问任何 URL,它应该将他们带到拒绝访问页面。
我现在得到的是 Grails 正试图将它们转发到 /login/auth(然后 Firefox 说重定向永远不会完成)。但问题是,由于我只是一个 Pre-Auth 系统,所以没有登录页面。
这是我的 Config.groovy:
grails.plugins.springsecurity.interceptUrlMap =
['/auth/*' : 'IS_AUTHENTICATED_ANONYMOUSLY', // so they can attempt to login
'/**' : 'IS_AUTHENTICATED_FULLY'
]
grails.plugins.springsecurity.providerNames =
['customerPreauthAuthProvider']
grails.plugins.springsecurity.filterChain.chainMap =
['/auth/customer' : 'customerSiteminderFilter', // Customer login
'/**' : 'JOINED_FILTERS' // Go thru regular filter chain for all others
]
关于如何让它停止这样做的任何想法?我也从 LoginController.groovy 中删除了 index 和 auth 方法,因为它们不应该被需要。
【问题讨论】:
您的标题与标签完全匹配。你能把它改成描述问题吗?而不仅仅是列出技术? 标题已更改。抱歉…… 【参考方案1】:由于您在技术上没有登录页面,那么您只需更改以下配置选项:
auth.loginFormUrl = '/login/auth'
指向您的拒绝访问页面。
【讨论】:
以上是关于如何在 Grails/Spring Security 插件中禁用 /login/auth的主要内容,如果未能解决你的问题,请参考以下文章
如何在 Grails/Spring Security 插件中禁用 /login/auth
Grails + spring-security-core:用户登录后如何分配角色?
如何使用 Grails Spring Security Plugin (Requestmap)
Grails spring-security-oauth-google:如何设置