1

我正在尝试使用 Spring Security Plugin 在 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 方法,因为它们不应该被需要。

4

1 回答 1

2

由于您在技术上没有登录页面,因此您可以更改以下配置选项:

auth.loginFormUrl = '/login/auth'

指向您的拒绝访问页面。

于 2011-12-27T21:10:23.720 回答