Fus*_*dor 5 grails spring-security gsp
我有index.gsp一个页面.在该页面中有一个注册按钮和一个登录按钮.一旦您登录,如果登录正常,该应用程序将再次驱动您index.gsp.我需要,如果用户登录,这些按钮会消失,而是说"你好,[用户名]".我已尝试使用此代码,但它不起作用(它从未登录):
在控制器中:
def dologin(){
def user=Usuario.findByUsernameAndPassword(params.username,springSecurityService.encodePassword(params.password) )
if(user){
redirect (controller:'usuario', action:'index')
}else{
flash.message=message(code:'default.user.not.found', args:[message(code: 'params.username', default:'Usuario'), params.id])
def userlogged = springSecurityService.getCurrentUser()
render view: 'index', model: [user: user]
}
}
Run Code Online (Sandbox Code Playgroud)
在index.gsp中(不完整,只有重要的部分):
<sec:ifNotLoggedIn>
<div id="buttons">
<div id="login"><a href="loginurl">Login</a>
</div>
<div id="register"><a href="registerurl">Registrarse</a>
</div>
</div>
</sec:ifNotLoggedIn>
<sec:ifLoggedIn>
<div id="greet">Hello!</div>
</sec:ifLoggedIn>
Run Code Online (Sandbox Code Playgroud)
任何帮助,将不胜感激.
谢谢.
ata*_*lor 13
看起来您正在进行自己的身份验证,而不是通过Spring安全身份验证过程.该<sec:ifLoggedIn>标签依赖于春季安全处理认证.
在Spring安全应用程序中处理此操作的常用方法是将登录请求发布到/j_spring_security_check后台,后者由UsernamePasswordAuthenticationFilter过滤.
Grails和春季安全插件使这个相对容易通过提供LoginController和auth.gsp,你可以作为一个起点使用.运行s2-quickstart脚本(也创建用户和角色域对象),或者只从spring-security-core模板目录中复制它们.
| 归档时间: |
|
| 查看次数: |
7520 次 |
| 最近记录: |