リビジョン | cad68eb0fe6e3dc64d33a5f30befdc751efb1e34 (tree) |
---|---|
日時 | 2018-08-14 12:06:23 |
作者 | naoki hirata <naoki@magi...> |
コミッター | naoki hirata |
ログイン時のアクセス制御を修正。
@@ -66,6 +66,16 @@ class MessageManager extends Core | ||
66 | 66 | $this->guideMessage = array_merge($this->guideMessage, $guideMessage); // ガイダンス |
67 | 67 | } |
68 | 68 | /** |
69 | + * アプリケーションエラーメッセージを追加する | |
70 | + * | |
71 | + * @param string $message メッセージ | |
72 | + * @return なし | |
73 | + */ | |
74 | + function addErrorMessage($message) | |
75 | + { | |
76 | + $this->errorMessage[] = $message; | |
77 | + } | |
78 | + /** | |
69 | 79 | * アプリケーションエラーメッセージを取得 |
70 | 80 | * |
71 | 81 | * @return array アプリケーションエラーメッセージ |
@@ -58,6 +58,7 @@ class admin_mainWidgetContainer extends admin_mainBaseWidgetContainer | ||
58 | 58 | // システム制御画面を表示する場合 |
59 | 59 | // ログインの場合はログイン処理へ |
60 | 60 | $systemMode = $this->gPage->getSystemHandleMode(); // システム制御モード(0=設定なし、1=ログイン画面、10=サイト非公開、11=アクセス不可) |
61 | + | |
61 | 62 | if ($systemMode > 0 && |
62 | 63 | $cmd != M3_REQUEST_CMD_LOGOUT && // ログアウトはスルーして後のログアウト部分で処理 |
63 | 64 | ($cmd != M3_REQUEST_CMD_LOGIN || ($cmd == M3_REQUEST_CMD_LOGIN && $request->isGetMethod()))){ // GETで来たログインコマンドはログインとしない |
@@ -124,8 +125,18 @@ class admin_mainWidgetContainer extends admin_mainBaseWidgetContainer | ||
124 | 125 | $this->redirectUrl = removeUrlParam($this->gEnv->getCurrentRequestUri(), $removeParam); // 遷移先 |
125 | 126 | } else if ( $cmd == M3_REQUEST_CMD_CONFIG_WIDGET || // ウィジェットの設定 |
126 | 127 | $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 | + } | |
129 | 140 | } |
130 | 141 | return true; |
131 | 142 | } |