3回ログインしないとAUTH_TYPE_FORM認証でログインできない

  • ページ: BugTrack
  • 投稿者: umorigu
  • 優先順位: 重要
  • 状態: 完了
  • カテゴリー: 本体バグ
  • 投稿日: 2019-08-15 (木) 23:48:31
  • バージョン: 1.5.2
  • リリース予定バージョン: 1.5.3

メッセージ

pukiwiki-1.5.2_utf8.zipを展開してDocumentRootに配置しました。ファイルは以下しか変更していません。

--- pukiwiki.ini.php.org	2019-01-12 00:49:49.000000000 +0900
+++ pukiwiki.ini.php	2019-07-25 12:26:05.624044676 +0900
@@ -221,7 +221,7 @@
 /////////////////////////////////////////////////
 // Authentication type
 // AUTH_TYPE_NONE, AUTH_TYPE_FORM, AUTH_TYPE_BASIC, AUTH_TYPE_EXTERNAL, ...
-// $auth_type = AUTH_TYPE_FORM;
+$auth_type = AUTH_TYPE_FORM;
 // $auth_external_login_url_base = './exlogin.php';

 /////////////////////////////////////////////////
@@ -264,10 +264,11 @@

 /////////////////////////////////////////////////
 // Read auth (0:Disable, 1:Enable)
-$read_auth = 0;
+$read_auth = 1;

 $read_auth_pages = array(
 	// Regex		   Groupname or Username
+	'##'	=> 'foo',
 	'#PageForAllValidUsers#'	=> 'valid-user',
 	'#HogeHoge#'		=> 'hoge',
 	'#(NETABARE|NetaBare)#'	=> 'foo,bar,hoge',
  • この状態で、未ログインのままFrontPageやヘルプページにアクセスするとログイン画面が表示されます(1)。
  • ここで、pukiwiki.ini.phpに元々設定されているfooユーザでログインすると、またログイン画面が表示されます(2)。
  • もう一度fooユーザでログインすると、またまたログイン画面が表示されます(3)。
  • さらにfooユーザでログインすると、ようやく目的のページが表示されます。

AUTH_TYPE_FORM認証で、一度のログイン処理で目的のページを表示させるにはどうすればいいでしょうか。

ちなみに、ヘルプページにアクセスした際の(1)(2)(3)のURL引数は以下のように遷移していました。

  • (1) ?plugin=loginform&page=Help&url_after_login=./?Help
  • (2) ?plugin=loginform&page=FrontPage&url_after_login=./?plugin=loginform&page=Help&url_after_login=.%2F%3FHelp&page_after_login=Help
  • (3) ?plugin=loginform&page=Help&url_after_login=./?Help&page_after_login=Help

official:質問箱/5341,official:質問箱/5334 より


  • ユーザー名/パスワードを確認してsessionを更新した後で、最新のsessionから情報取得せずにauth_checkを再び行っていました。 form_auth() に成功した後は再び認証確認せず redirect するようにしました commit:85b519a91c -- umorigu 2019-08-16 (金) 01:33:20


トップ   編集 凍結 差分 バックアップ 添付 複製 名前変更 リロード   新規 一覧 検索 最終更新   ヘルプ   最終更新のRSS
Last-modified: 2019-08-16 (金) 01:53:45
Site admin: PukiWiki Development Team

PukiWiki 1.5.2+ © 2001-2019 PukiWiki Development Team. Powered by PHP 5.6.40-0+deb8u7. HTML convert time: 0.292 sec.

OSDN