■ユーザーズフォーラム リニューアルのお知らせ
新規投稿は新ユーザーズフォーラムにお願いします。

Re: 『?preview=a』を指定すると管理画面にリダイレクトされてしまう件について

momo_r > Re: 『?preview=a』を指定すると管理画面にリダイレクトされてしまう件について @ 2018/5/11 22:51
お世話になっております。
先程の書き込み後、改めて調査をしたところ下記の修正を行うことで管理画面へのリダイレクトがされなくなりました。


localhost/basercms/lib/Baser/Routing/Route/BcContentsRoute.php 41行目〜45行目

こちらのif文のコメントに
『管理システムにログインしているかつプレビューの場合は公開状態のステータスは無視する』
とあるのですが、処理の流れ的にここでは管理システムにログインしているか否かのチェックはしていないように見えたので
44行目の
$publish = false;


if (BcUtil::loginUser()) $publish = false;

と修正いたしました。


また、93行目〜97行目の処理で管理画面URLでリダイレクトしているようでしたのですべてコメントアウトいたしました。
// if((!empty($request->query['preview']) || !empty($request->query['force'])) && !BcUtil::loginUser()) {
// 	$_SESSION['Auth']['redirect'] = $_SERVER['REQUEST_URI'];
// 	header('Location: ' . topLevelUrl(false) . baseUrl() . Configure::read('BcAuthPrefix.admin.alias') . '/users/login');
// 	exit();
// }



こちら『diff -u』の結果になります。
$ diff -u Baser.bk/Routing/Route/BcContentsRoute.php Baser/Routing/Route/BcContentsRoute.php
--- Baser.bk/Routing/Route/BcContentsRoute.php  2018-03-20 17:22:57.000000000 +0900
+++ Baser/Routing/Route/BcContentsRoute.php     2018-05-11 22:29:00.068303088 +0900
@@ -41,7 +41,7 @@
                //管理システムにログインしているかつプレビューの場合は公開状態のステータスは無視する
                $publish = true;
                if(!empty($request->query['preview']) || !empty($request->query['force'])) {
-                       $publish = false;
+                       if (BcUtil::loginUser()) $publish = false;
                }

                if(!empty($request->query['host'])) {
@@ -90,11 +90,11 @@
                }

                // データが存在してもプレビューで管理システムにログインしていない場合はログイン画面に遷移
-               if((!empty($request->query['preview']) || !empty($request->query['force'])) && !BcUtil::loginUser()) {
-                       $_SESSION['Auth']['redirect'] = $_SERVER['REQUEST_URI'];
-                       header('Location: ' . topLevelUrl(false) . baseUrl() . Configure::read('BcAuthPrefix.admin.alias') . '/users/login');
-                       exit();
-               }
+               //if((!empty($request->query['preview']) || !empty($request->query['force'])) && !BcUtil::loginUser()) {
+               //      $_SESSION['Auth']['redirect'] = $_SERVER['REQUEST_URI'];
+               //      header('Location: ' . topLevelUrl(false) . baseUrl() . Configure::read('BcAuthPrefix.admin.alias') . '/users/login');
+               //      exit();
+               //}

                if($content['Content']['alias_id'] && !$Content->isPublishById($content['Content']['alias_id'])) {
                        return false;



現状こちらの期待通りの動きがされているのですが、この修正で問題が発生することはないでしょうか?
お手数ですが、ご確認よろしくお願いいたします。
ログイン
ユーザー名:
パスワード:


  新規登録 / パスワード紛失

検索

facebook
フォーラムで悩みが解決した場合など、よかったら「いいね!」をポチっとクリックしてください!質問の回答者や開発者の励みになります

フォーラムガイド


関連リンク

オンライン状況
29 人のユーザが現在オンラインです。 (28 人のユーザが フォーラム を参照しています。)

登録ユーザ: 0
ゲスト: 29