我可以使用" useToken = true"和" withForm"在使用spring安全插件的登录表单中?

时间:2017-08-28 16:12:15

标签: grails spring-security

我有一个使用spring安全插件身份验证的grails应用程序。

到目前为止,我一直使用useToken=true保护我的所有表单免受CSRF攻击,并使用withForm阻止在控制器中对此进行验证,但我不知道如何在登录时执行此操作使用spring security插件的表单。

是否有可能在登录表单中使用useToken,然后覆盖一些Spring安全类,以便能够在grails中使用withForm

如何保护登录免受CSRF攻击?

这些是我对登录的更改,以便能够使用useToken。

MyLoginController

def checkLogin(){
        withForm {
            redirect(uri: "/j_spring_security_check", params: params)
        }.invalidToken{
            message(error: "Double submit error")
        }

    }

GSP

<g:form action='checkLogin' method='POST' id='loginForm' autocomplete='off' useToken="true">
<input id="username" name="j_username" type="text">
<input id="password" name="j_password" type="password"
<button data-dismiss="modal" type="submit"</button>
</g:form>

这给我一个用户名和密码错误,不要将我重定向到我的登录后页面。

现在,这是我以前使用默认弹簧安全行为完美运行的代码。没有自定义登录控制器,这在gsp。

<form action='${postUrl}' method='POST' id='loginForm' autocomplete='off'>

0 个答案:

没有答案