如何在Spring Security Grails上自定义/登录/验证?

时间:2018-05-25 05:13:43

标签: grails spring-security

我正在进行更改 <g:form controller="login" action="authenticate" class="form">,重定向到插件/login/authenticate上包含的身份验证。

如何在调用操作时自定义另一个可以执行会话检查的操作的路径?

3 个答案:

答案 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 之类的类,以了解如何操作。