我正在进行更改
<g:form controller="login" action="authenticate" class="form">
,重定向到插件/login/authenticate
上包含的身份验证。
如何在调用操作时自定义另一个可以执行会话检查的操作的路径?
答案 0 :(得分:0)
您可以执行以下自己的/自定义身份验证操作。
<!--Your login page gsp-->
<g:form controller="login" action="auth" class="form">
您的GSP自定义操作
//inject springSecurityService this service in the login controller as def springSecurityService
def auth(){
def config = SpringSecurityUtils.securityConfig
if (springSecurityService.isLoggedIn()) {
redirect uri: config.successHandler.defaultTargetUrl
return
}
}
答案 1 :(得分:0)
您可以创建自己的操作,然后重定向到默认的/ login / authenticate apf url。您可以检查操作。
如果您需要在验证用户身份后检查某些内容,则可以简单地覆盖操作def ajaxSuccess()来创建具有相同名称的控制器。 LoginController。
答案 2 :(得分:0)
Spring 安全性是围绕过滤器链构建的。正确的方法是创建一个新的过滤器。您可能需要下载 spring grails 安全核心插件并查看 GrailsUsernamePasswordAuthenticationFilter 之类的类,以了解如何操作。