Фактически я создаю пользователя из формы createorg, и он также сохраняется в базе данных, но когда я пытаюсь войти в систему с этим именем пользователя и паролем, он сообщает мне об ошибке, что такое имя пользователя и пароль не могут быть найдены. Но пользователь, которого я сохранил из начальной загрузки, может можно легко использовать для входа в систему.
createorg.gsp
<g:form action = "saveorg" method = "POST">
<h3>Enter Username</h3>
<g:textField name = "username" placeholder = "Enter UserName"/><br>
<h3>Enter Password</h3>
<g:textField name = "password" id = "pass1" placeholder = "Enter Password" /><br>
<h3>Confirm Password</h3>
<g:textField name = "password" id = "pass2" placeholder = "Confirm Password" onkeyup='check();'/><br>
<div class = "alert alert-success" style = "display: none" id = "showAlert">
<strong><span id='message'></span></strong>
</div>
<div class = "alert alert-success" style = "display: none" id = "showAlert1">
<strong><span id='message1'></span></strong>
</div>
<g:submitButton class = "btn btn-primary" name = "saveorg" value = "saveorg" id = "submit" />
</g:form>
organizationcontroller.groovy
@Secured('permitAll')
def saveorg(User user) {
if (user == null) {
notFound()
return
}
try {
userService.save(user)
println("i m here in orgcontroller")
new UserRole(user:user,role:Role.findByAuthority('ROLE_ORG')).save(flush: true, failOnError: true)
redirect(action: "anotherpage")
} catch (ValidationException e) {
println(e.getMessage())
respond user.errors, view:'create'
return
}
}




@Transactional
def save(User user) {
if (user == null) {
transactionStatus.setRollbackOnly()
render status: NOT_FOUND
return
}
if (user.hasErrors()) {
transactionStatus.setRollbackOnly()
render(template: "/errors/errors", model: [errors: user.errors])
return
}
user.save flush:true
respond user, [status: CREATED, view:"show"]
}
Имеет ли ваш класс
Userсвойствоenabled, и если да, то подтвердили ли вы, что этоtrueдля данного пользователя (ей)?