パスワード変更後の自動ログアウトの工夫
2023-08-12 05:23:55
質問
Deviseで、ユーザーのパスワードを変更し、それがデータベースで更新された後、サイトがすぐにユーザーをログアウトさせます。このような動作はしたくありません。どうすればよいのでしょうか。
どのように解決するのですか?
私も同じ問題を抱えていましたが、以下のコードで解決できそうです。
passwordsコントローラはシングルトンルートに設定されているとします。 また、認証されるモデルはAccountであるとします。 これを使うと、以下のようになります。
def update
if current_account.update_with_password(params[:account])
sign_in(current_account, :bypass => true)
flash[:notice] = 'Password updated.'
redirect_to account_path
else
render :action => :show
end
end
重要な要素は、アカウントの再サインインを求める sign_in メソッド呼び出しですが、warden コールバックをバイパスしてアカウントをセッションに保存します。
関連
-
[解決済み】取得中。「プロジェクトのクローンとマイグレート後に、「マイグレーションは保留中です。この問題を解決するには 'bin/rake db:migrate RAILS_ENV=development' を実行してください。
-
[解決済み】Rails。Ruby on Railsの移行でデータベースカラムの名前を変更するにはどうすればよいですか?
-
[解決済み] rake db:migrateを使って1ステップだけロールバックする方法
-
[解決済み] rspec 3 - クラスメソッドをスタブ化する
-
[解決済み] Railsマイグレーションを利用してカラムをドロップする方法
-
[解決済み] Railsです。gemを使った特定バージョンのライブラリのアンインストール
-
[解決済み] 構文エラー "構文エラー、予期しない入力終了、keyword_endを期待 (SyntaxError)"
-
[解決済み] rails/rubyでgroup_byを使用する。
-
[解決済み] rake db:migrate db:reset とdb:schema:loadの違いについて
-
[解決済み] Railsコンソールからのパスワードリセットを工夫する
最新
-
nginxです。[emerg] 0.0.0.0:80 への bind() に失敗しました (98: アドレスは既に使用中です)
-
htmlページでギリシャ文字を使うには
-
ピュアhtml+cssでの要素読み込み効果
-
純粋なhtml + cssで五輪を実現するサンプルコード
-
ナビゲーションバー・ドロップダウンメニューのHTML+CSSサンプルコード
-
タイピング効果を実現するピュアhtml+css
-
htmlの選択ボックスのプレースホルダー作成に関する質問
-
html css3 伸縮しない 画像表示効果
-
トップナビゲーションバーメニュー作成用HTML+CSS
-
html+css 実装 サイバーパンク風ボタン
おすすめ
-
[解決済み】bundle installが "Could not locate Gemfile "を返す。
-
[解決済み】Rails: sudo "コマンドが認識されないのはなぜですか?
-
[解決済み】TypeError: SymbolからIntegerへの暗黙の変換がない。
-
[解決済み】ActionController::InvalidAuthenticityTokenについて
-
[解決済み】コレクションをDESCで並べる方法
-
[解決済み] pg gem をインストールしようとすると 'libpq-fe.h' ヘッダが見つからない
-
[解決済み] どのようにrailsでラジオボタンを正しく使用するには?
-
[解決済み] PG::ConnectionBad - サーバーに接続できませんでした。接続が拒否されました。
-
[解決済み] Rails ExecJS::ProgramError in Pages#home?
-
[解決済み] Rspec が私のモデルクラスを認識しない。初期化されていない定数エラー