私はGrailsの使用を開始したばかりですが、spring-securityとspring-security-uiプラグインをインストールしました。私はhereというチュートリアルに従っています。アプリケーションは、ブートストラップされた1人のユーザーから起動します。me
ROLE_ADMIN
パーミッションGrails/Spring Security:新しく作成されたユーザでログインできません
UIオーバーライドスクリプトを使用すると、登録機能を起動して実行することができ、すべて正常に機能します。今、ユーザー管理スクリプト(grails s2ui-override user
)をインストールして、ユーザーの追加、編集、削除を試みました。
新しいユーザーがうまく作成されました。これをHSQLDBインスタンスに対してチェックしました。ただし、アプリケーションからログアウトして新しく作成したユーザーでログインしようとすると、提供されたユーザー名とパスワードでユーザーを見つけることができないことがアプリケーションから通知されます。
私はデフォルトのログアウト処理を変更していないので、ドキュメントがセッションを無効にすると言う/j_spring_security_logout
を使用しています。
これは既知の問題ですか?もしそうなら、どうすればこの問題を回避することができますか?
編集:
この問題はUIを追加しなくても保持されます。新しいユーザーとして登録する。電子メール認証が完了すると、サイトに自動ログインします。今すぐログアウトして、もう一度ログインしてみてください。同じエラーが発生します。
FINAL EDIT:
UIプラグインは、まだパスワードをエンコードしRegisterControllerが付属しています。しかし、コアに付属している新しいドメインクラスもこれを実行しているので、コントローラは実行しないようにすることをお勧めします。私は、少なくとも基本的なシナリオでは、エンコーディングとログイン/ログアウトが動作する行をコメントアウトしました。そのチュートリアルの警告があり
ログアウト後にHSQLDBをチェックしましたか?ユーザーはまだテーブルにいますか? – add9
@imellan:はい、ユーザーはログアウトしてもテーブルに残っています。実際には、リセットパスワード(春のセキュリティUIを使用)を行い、新しいパスワードで再ログインすることができます。 –
springSecurityService.encodePassword()をプロセスのどこかで使用していますか? – add9