grails spring安全自定义用户注册页面
我正在尝试创建一个使用SpringSecurityCore2.0的应用程序,并尝试创建一个自定义注册页面。我认为我的问题在于我的register.gsp,因为每次我尝试注册一个新用户时,它都会重定向到一个完全空白的用户。这种情况的进一步证据是,我在register操作中包含了几个println(),这些println()应该根据注册失败的位置触发,但在任何时候都不会触发。此外,没有在dbconsole中创建用户。请看一下我的普惠制:grails spring安全自定义用户注册页面,grails,spring-security,Grails,Spring Security,我正在尝试创建一个使用SpringSecurityCore2.0的应用程序,并尝试创建一个自定义注册页面。我认为我的问题在于我的register.gsp,因为每次我尝试注册一个新用户时,它都会重定向到一个完全空白的用户。这种情况的进一步证据是,我在register操作中包含了几个println(),这些println()应该根据注册失败的位置触发,但在任何时候都不会触发。此外,没有在dbconsole中创建用户。请看一下我的普惠制: <html> <head> &
<html>
<head>
<meta name="layout" content="front"/>
<title>MSK | Register</title>
<style>
...
</style>
</head>
<body>
<div class="jumbotron">
<form action="${postUrl ?: '/home/register'}" method="POST" id="registerForm" class="cssform" autocomplete="off">
<h2 class="form-signin-heading">Please register</h2>
<label for="username" class="sr-only">Username</label>
<input style="margin-bottom: 10px" type="text" id="username" class="form-control" placeholder="Username" name="${usernameParameter ?: 'j_username'}"/>
<label for="email" class="sr-only">Email</label>
<input style="margin-bottom: 10px" type="email" id="email" class="form-control" placeholder="Email" name="${emailParameter ?: 'email'}"/>
<label for="fName" class="sr-only">First Name</label>
<input style="margin-bottom: 10px" type="text" id="FName" class="form-control" placeholder="First Name" name="${fNameParameter ?: 'fName'}"/>
<label for="lName" class="sr-only">Last Name</label>
<input style="margin-bottom: 10px" type="text" id="lName" class="form-control" placeholder="Last Name" name="${lNameParameter ?: 'lName'}"/>
<label for="password" class="sr-only">Password</label>
<input style="margin-bottom: 10px" type="password" id="password" class="form-control" placeholder="Password" name="${passwordParameter ?: 'j_password'}"/>
<label for="confirmPassword" class="sr-only">Confirm Password</label>
<input style="margin-bottom: 10px" type="password" id="confirmPassword" class="form-control" placeholder="Confirm Password" name="${passwordCParameter ?: 'confirmPassword'}"/>
<g:actionSubmit style="margin-top: 20px" class="btn btn-lg btn-success btn-block" action="register" value="create"/>
<button style="margin-top: 20px" class="btn btn-lg btn-success btn-block" type="submit">Register</button>
</form>
</div>
</body>
这也是loginService的代码:
com.mypackage
//imports
@Transactional
class LoginService {
def register(newUser){
try{
def userRole = new Role(authority: 'ROLE_USER', name: 'User').save(flush: true)
newUser.save(flush: true, failOnError: true)
UserRole.create(newUser, userRole, true)
return true
}catch(all){
all.printStackTrace()
return false
}
}
}
很抱歉,如果所有代码没有正确缩进,我基本上是从实际项目中复制并粘贴的。任何帮助都将不胜感激,谢谢 - 您可以使用SpringSecurityUI插件
- 使用命令对象验证密码
- 使用资源,这意味着向/user发送帖子,这将调用save操作
com.mypackage
//imports
@Transactional
class LoginService {
def register(newUser){
try{
def userRole = new Role(authority: 'ROLE_USER', name: 'User').save(flush: true)
newUser.save(flush: true, failOnError: true)
UserRole.create(newUser, userRole, true)
return true
}catch(all){
all.printStackTrace()
return false
}
}
}