#author("2019-08-15T23:49:24+09:00","","")
#author("2020-01-06T13:17:19+09:00","","")
**[[質問箱/5334]] [#ubc188bb]
|RIGHT:70|LEFT:410|c
|~カテゴリ|動作環境|
|~サマリ|Form認証でのログイン後画面|
|~バージョン|1.5.2|
|~投稿者|[[harima]]|
|~状態|完了|
|~投稿日|&new{2019-05-14 (火) 10:19:43};|
***質問 [#rfe0dd1e]
WindowsServerのIISにてpukiwikiを稼働させています。

ログイン機能が必要でしたので、PukiWiki/Authenticationを参考に、Form認証を使用することにしました。

実際に指定のユーザーでログインする事は出来たのですが、『ログイン』ボタンを押下してログインすると再びログイン画面が表示されてしまいます。

ログインボタン押下後に、例えばトップページにジャンプさせることなどは出来ないのでしょうか?

***解決方法 [#rc754ff7]
loginform.inc.php
-元
 if ($username && $password && form_auth($username, $password)) {
 	// Sign in successfully completed
 	form_auth_redirect($url_after_login, $page_after_login);
 	return;
 }

-修正後
 if ($username && $password && form_auth($username, $password)) {
 	// Sign in successfully completed
 	header('location: '.$url_after_login);
 	exit;
 	form_auth_redirect($url_after_login, $page_after_login);
 	return;
 }

***回答 [#zf84e22e]
- 正しい方法では無い思いますが loginform.inc.php の37行目コメント行の次に php の header 関数で Location を出力して回避しました。引数に飛ばしたいURLを入れる。 -- [[Nan]] &new{2019-05-16 (木) 11:22:10};
- header関数で飛ばすことで解決できました。ありがとうございます。 -- [[harima]] &new{2019-05-16 (木) 11:54:33};
- Windows 10 + IIS (FastCgiModule) で試してみましたが、再現しませんでした (ログイン後に元のページに戻りました)。もう少し条件を絞れないでしょうか? PHPとIISの連携はどうされていますか? -- [[umorigu]] &new{2019-06-04 (火) 23:49:04};
- centos7/apache2.4に立てたサーバーにwindows10からアクセスしていますが,同様の現象が起こりました。form_auth_redirectの次の行にあるreturnをexitに変更すると正しく動作します。 -- [[null]] &new{2019-07-29 (月) 06:43:43};
- [[質問箱/5341]]で原因がわかりました。すべてのページにRead認証をかけるとこの動作になりました。バグ管理して修正します -- [[umorigu]] &new{2019-08-02 (金) 03:05:57};
- [[dev:BugTrack/2492]] で修正します -- [[umorigu]] &new{2019-08-15 (木) 23:49:24};
- 修正ありがとうございます。リンク先の修正内容を適用したところ、当方の環境(CentOS7 + PHP7.3)でも上手く動作するようになりました。 -- [[Nan]] &new{2020-01-06 (月) 13:17:19};

#comment

トップ   編集 差分 履歴 添付 複製 名前変更 リロード   新規 一覧 検索 最終更新   ヘルプ   最終更新のRSS
Site admin: PukiWiki Development Team

PukiWiki 1.5.4+ © 2001-2022 PukiWiki Development Team. Powered by PHP 8.2.12. HTML convert time: 0.033 sec.

SourceForge