ブラウザを閉じると自動ログアウトしてほしい
-
ウィンドウを閉じるときにログアウトをさせる動作をJavaScriptで動作させてみてはいかがでしょうか。
window.onbeforeunload = function(){ //ここに画面とじるときに動作するコードを掲載する }
これで閉じるときになにかしらの動きをさせることができると思いますので
ログアウトを作用させるページへの移動をさせてみてはいかがでしょうか。http://"homepageDomain"/wp-login.php?action=logout
このアドレスでログアウト画面がでてくるのでボタンを押したり、表示された
ログアウトのリンクにリダイレクトするなどやhttp://"homepageDomain"/wp-login.php?action=logout&_wpnonce=??????????
この?の部分にコードを渡せばページ遷移だけでログアウトするようなので
くわしくはその関数についてのページをご参照いただけたらとおもいます。
https://wpdocs.osdn.jp/%E9%96%A2%E6%95%B0%E3%83%AA%E3%83%95%E3%82%A1%E3%83%AC%E3%83%B3%E3%82%B9/wp_nonce_fieldまだいろいろ議論の余地のある個所のようですが、画面に表示させずリンクを発動させたり
ありがとうございましたページを用意するなどできそうなきがします。いかがでしょうか。
アイデアだけで検証していませんが、、、
ログイン処理の中で「ログイン状態を保持する」チェックボックスは
$_POST['rememberme']
で表されます。これはwp_signon()
の中で使われます。WordPress 標準のログインフォーム wp-login.php で「ログイン」ボタンを押すと、
wp_signon()
を呼び出してログイン処理を実行する前に、アクション'login_form_login'
が呼び出されます。こういう処理順序なので、上記アクションにフックした自作関数の中で
$_POST['rememberme']
をクリアすれば良いのではないかと思います。調べましたところログイン維持期間を設定するwp_set_auth_cookie関数内に
auth_cookie_expirationというフィルターがあるらしく、
この部分を変更すればログイン時間を変更できるのではないかと思います。
(ログイン状態を保持する、しないにかかわらず適用されているようなのでまとめて指定できます)wp-include/pluggabele.php
if ( $remember ) { /** * Filters the duration of the authentication cookie expiration period. * * @since 2.8.0 * * @param int $length Duration of the expiration period in seconds. * @param int $user_id User ID. * @param bool $remember Whether to remember the user login. Default false. */ $expiration = time() + apply_filters( 'auth_cookie_expiration', 14 * DAY_IN_SECONDS, $user_id, $remember ); /* * Ensure the browser will continue to send the cookie after the expiration time is reached. * Needed for the login grace period in wp_validate_auth_cookie(). */ $expire = $expiration + ( 12 * HOUR_IN_SECONDS ); } else { /** This filter is documented in wp-includes/pluggable.php */ $expiration = time() + apply_filters( 'auth_cookie_expiration', 2 * DAY_IN_SECONDS, $user_id, $remember ); $expire = 0; }
- この返信は7年、 1ヶ月前にgogowebが編集しました。
少し時間ができたのでこれをプラグインにしてみました。
<?php /* Plugin Name: gblsm Disable Rememberme Plugin URI: https://ja.wordpress.org/support/topic/ブラウザを閉じると自動ログアウトしてほしい/ Description: ログインフォームの「ログイン状態を保持する」チェックボックスをクリアします。 Author: gblsm Version: 0.1 Author URI: https://ja.wordpress.org/support/users/gblsm/ */ add_action( 'login_form_login', 'gblsm_disable_rememberme' ); function gblsm_disable_rememberme() { unset( $_POST['rememberme'] ); }
- トピック「ブラウザを閉じると自動ログアウトしてほしい」には新たに返信することはできません。