• R/O
  • HTTP
  • SSH
  • HTTPS

magic3: コミット

Cloud computing platform


コミットメタ情報

リビジョンcad68eb0fe6e3dc64d33a5f30befdc751efb1e34 (tree)
日時2018-08-14 12:06:23
作者naoki hirata <naoki@magi...>
コミッターnaoki hirata

ログメッセージ

ログイン時のアクセス制御を修正。

変更サマリ

差分

--- a/include/manager/messageManager.php
+++ b/include/manager/messageManager.php
@@ -66,6 +66,16 @@ class MessageManager extends Core
6666 $this->guideMessage = array_merge($this->guideMessage, $guideMessage); // ガイダンス
6767 }
6868 /**
69+ * アプリケーションエラーメッセージを追加する
70+ *
71+ * @param string $message メッセージ
72+ * @return なし
73+ */
74+ function addErrorMessage($message)
75+ {
76+ $this->errorMessage[] = $message;
77+ }
78+ /**
6979 * アプリケーションエラーメッセージを取得
7080 *
7181 * @return array アプリケーションエラーメッセージ
--- a/widgets/admin_main/include/container/admin_mainWidgetContainer.php
+++ b/widgets/admin_main/include/container/admin_mainWidgetContainer.php
@@ -58,6 +58,7 @@ class admin_mainWidgetContainer extends admin_mainBaseWidgetContainer
5858 // システム制御画面を表示する場合
5959 // ログインの場合はログイン処理へ
6060 $systemMode = $this->gPage->getSystemHandleMode(); // システム制御モード(0=設定なし、1=ログイン画面、10=サイト非公開、11=アクセス不可)
61+
6162 if ($systemMode > 0 &&
6263 $cmd != M3_REQUEST_CMD_LOGOUT && // ログアウトはスルーして後のログアウト部分で処理
6364 ($cmd != M3_REQUEST_CMD_LOGIN || ($cmd == M3_REQUEST_CMD_LOGIN && $request->isGetMethod()))){ // GETで来たログインコマンドはログインとしない
@@ -124,8 +125,18 @@ class admin_mainWidgetContainer extends admin_mainBaseWidgetContainer
124125 $this->redirectUrl = removeUrlParam($this->gEnv->getCurrentRequestUri(), $removeParam); // 遷移先
125126 } else if ( $cmd == M3_REQUEST_CMD_CONFIG_WIDGET || // ウィジェットの設定
126127 $cmd == M3_REQUEST_CMD_SHOW_POSITION_WITH_WIDGET){ // 表示位置を表示するとき(ウィジェット付き)
127- $param = 'userlogin'; // ユーザログイン画面表示
128- $this->redirectUrl = $this->gEnv->getCurrentRequestUri(); // 遷移先
128+
129+ // ##### ウィジェット設定画面のアクセス権のチェック #####
130+ // アクセス権がない場合はエラーメッセージを表示。メッセージを表示しない場合はログイン画面を表示。
131+ // グローバルエラーメッセージが設定されている場合はエラーメッセージを表示
132+ $errMessage = $this->gInstance->getMessageManager()->getErrorMessage();
133+ if (count($errMessage) > 0){
134+ $param = 'message'; // メッセージ画面
135+ $this->getGlobalMsg(); // グローバルエラーメッセージを取得
136+ } else {
137+ $param = 'userlogin'; // ユーザログイン画面表示
138+ $this->redirectUrl = $this->gEnv->getCurrentRequestUri(); // 遷移先
139+ }
129140 }
130141 return true;
131142 }
旧リポジトリブラウザで表示