Разграничение прав login и страница авторизации.

Доброго времени суток уважаемое сообщество.
Решил на новом проекте сделать все правильно, без вызова в шаблоне сниппета логина.
marabar.ru/login-v-modx-revolution.html
Взял за основу данный мануал. В общем то все работает. Взять ресурс «редактор», поставить у него галочку в группе пользователей Users, и все как бы почти как надо. Для пользователя администратор ресурс будет доступен, для пользователя в группе users будет доступен. Для анонима и любого другого пользователя будет отдаваться 404 ошибка. А вот тут я уже прошу вашей помощи. Как изменить отдачу 404 на такие ресурсы? Вполне логично что там должна быть авторизационная форма, ресурс с идентификатором n допустим. Спасибо.
Николай
02 февраля 2015, 18:12
modx.pro
1 061
0

Комментарии: 2

Николай
03 февраля 2015, 09:50
0
Мне конечно ничего не мешает в настройках сайта 404 ошибке дать id страничке входа, но это же неправильно и некрасиво?
    Максим Кузнецов
    03 февраля 2015, 10:15
    0
    modstore.pro/packages/users/office — это не для рекламы дополнения, а для прилагаемой к ней статье и «неверном» назначении прав по-умолчанию в modx'е. Там же и про ошибку замену 404 на аксесс дениед.

    В крайнем случае, можно сделать самописный сниппет:

    Сниппет getAccess
    <?php
    	$user = (!empty($userId)) ? $modx->getObject('modUser', $userId) : $modx->user;
    
    	if (is_object($user) && $modx->user->isAuthenticated('web')) {
    		$allowGroups = explode(",", $allowGroups);
    		$userGroups = $user->getUserGroupNames();
    
    		foreach($allowGroups as $check) {
    			if(in_array($check, $userGroups)) {
    				$accessComplete = 1;
    				return $modx->getChunk($tpl);
    			}
    		}
    		if($accessComplete != 1) {
    			$url = $modx->makeUrl($redirectId);
    			$modx->sendRedirect($url,array('responseCode' => 'HTTP/1.1 301 Moved Permanently'));
    		}
    	}
    	else {
    		$url = $modx->makeUrl($redirectId);
    		$modx->sendRedirect($url,array('responseCode' => 'HTTP/1.1 301 Moved Permanently'));
    	}

    Вызов:
    [[!getAccess? &allowGroups=`Administrator,Users` &tpl=`скрытый чанк` &redirectId=`айди_редиректа`]]
    Авторизуйтесь или зарегистрируйтесь, чтобы оставлять комментарии.
    2