お世話になっております。
先程の書き込み後、改めて調査をしたところ下記の修正を行うことで管理画面へのリダイレクトがされなくなりました。
localhost/basercms/lib/Baser/Routing/Route/BcContentsRoute.php 41行目〜45行目
こちらのif文のコメントに
『管理システムにログインしているかつプレビューの場合は公開状態のステータスは無視する』
とあるのですが、処理の流れ的にここでは管理システムにログインしているか否かのチェックはしていないように見えたので
44行目の
を
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;
現状こちらの期待通りの動きがされているのですが、この修正で問題が発生することはないでしょうか?
お手数ですが、ご確認よろしくお願いいたします。