0

ユーザーがアカウントを確認した後、電子メールに送信されたリンクをクリックすると、自動的にサインインします。この特性を無効にするにはどうすればよいですか? 出来ますか?

4

1 に答える 1

1

これは、devise 3.1 より前のバージョンのデフォルトの動作であり、私の知る限り、簡単に変更する方法はありません。devise をオーバーライドする必要があると思いますConfirmationsController

3.1 で動作が変更されたため、デフォルトでは、確認リンクを使用した後、ユーザーはログインされません。ログインの古い動作を維持したい場合はconfig.allow_insecure_sign_in_after_confirmation = trueconfig/initializers/devise.rb.

コメントで説明したように、devise 2.2.4 から 3.2.4 にアップグレードすると、動作が希望どおりに変わりました。

Devise 3.1 では、他にも多くのセキュリティ関連の変更が導入されました。詳細については、http: //blog.plataformatec.com.br/2013/08/devise-3-1-now-with-more-secure-defaults/をご覧ください。

3.1 での他の変更点の 1 つは、確認/リセット/ロック解除トークンがデータベースにダイジェストされて保存されることでした。そのため、以前に保存されたトークンは、理想的にはトークンを要求したばかりのユーザーが使用できるように一時的に設定config.allow_insecure_token_lookup = trueしない限り機能しません。config/initializers/devise.rbただし、この行を削除すると、今後のすべてのルックアップで、消化されたトークンがデータベースにあると想定されます。詳細については、上記のリンクを参照してください。

于 2014-07-16T09:57:11.983 に答える