#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