2

パスワードの有効期限が切れたユーザーにパスワードの更新を強制するモジュールを作成しています。このアプリはacegiセキュリティプラグインを使用しています。期限切れのクレデンシャルが検出されると、ユーザーは「新しいパスワードの挿入」ページにリダイレクトされます。ただし、フォームが送信authされると、目的のアクション(renewPassword)ではなく、アクションが実行されます。

これはユーザーがログインしていないために発生しているのではないかと思うので、もっと良い方法があるのではないかと思いました。

たとえば、ユーザーにログインを許可し、パスワードを更新するまでアカウントを無効にします。

これは正しい方法ですか?誰もが自分の経験を共有できますか?

アップデート

考えてみると、acegiCredentialsExpiredExceptionはすべての「期限切れのクレデンシャルのチェック」作業を行っているため、認証に失敗するため、ユーザーをログインして変更することはできません。それで、これを行う方法はありますか?

前もって感謝します

4

2 に答える 2

1

ログインを許可することをお勧めしますが、コードにリダイレクトフラグを設定して、パスワード変更ページにプッシュします。これにより、サイト内の別の場所に変更しようとしても、パスワード変更ページにプッシュバックされます。(私はそれを使用したことがないので、この言語でそれをコーディングする方法がわかりませんが、それは私が見かけの制限を回避することを提案する方法です)

于 2010-10-12T12:51:46.087 に答える
0

最終的にそれを「プログラムではなく簡単なconf.file」の方法で解決しました。

SecurityConfig.groovyエントリを追加しましたrequestMapString

/login/renewpassword = IS_AUTHENTICATED_ANONYMOUSLY

このようにして、ユーザーがログインしていなくてもrenewpassword、内のアクションをloginController実行できます。

みなさん、ありがとうございました。

于 2010-10-13T13:27:05.880 に答える