У меня есть приложение Grails с плагином spring-security-core. В моем файле conf / spring / resources.groovy я определил
import org.springframework.security.authentication.encoding.PlaintextPasswordEncoder
beans = {
passwordEncoder(PlaintextPasswordEncoder)
}
чтобы я мог сохранять пароли в виде простого текста в БД MySql, как это было объяснено здесь Безопасность Spring без кодировки пароля
в views / login / auth.gsp Я также добавил в <head>
блок
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
и в Datasource.groovy
url = "jdbc:mysql://localhost:3306/blabla?useUnicode=true&characterEncoding=utf8"
Я создал пользователя с именем пользователя = ččč и паролем = ččč успешно, но когда я пытаюсь войти в систему с этим пользователем, я получаю сообщение об ошибке «Извините, мы не смогли найти пользователя с таким именем пользователя и паролем». Я проверил базу данных, и пользователь существует с этими значениями поля.
Я попытался войти в систему с другим пользователем, у которого username = admin, password = admin, и он работает нормально.
Поэтому я предполагаю, что это как-то связано с тем, что j_username и j_password не принимают неанглийские символы ... Как включить поля формы входа в систему для приема набора символов utf-8?
У меня есть:
Граальс 1.3.7
Spring-Security-Core 1.2.6
СТС 2.8.1
MySQL-разъем-Java-5.1.18
Windows 7