Разграничение прав login и страница авторизации.
        Доброго времени суток уважаемое сообщество.
Решил на новом проекте сделать все правильно, без вызова в шаблоне сниппета логина.
marabar.ru/login-v-modx-revolution.html
Взял за основу данный мануал. В общем то все работает. Взять ресурс «редактор», поставить у него галочку в группе пользователей Users, и все как бы почти как надо. Для пользователя администратор ресурс будет доступен, для пользователя в группе users будет доступен. Для анонима и любого другого пользователя будет отдаваться 404 ошибка. А вот тут я уже прошу вашей помощи. Как изменить отдачу 404 на такие ресурсы? Вполне логично что там должна быть авторизационная форма, ресурс с идентификатором n допустим. Спасибо.
    
    
                                                                                
            Решил на новом проекте сделать все правильно, без вызова в шаблоне сниппета логина.
marabar.ru/login-v-modx-revolution.html
Взял за основу данный мануал. В общем то все работает. Взять ресурс «редактор», поставить у него галочку в группе пользователей Users, и все как бы почти как надо. Для пользователя администратор ресурс будет доступен, для пользователя в группе users будет доступен. Для анонима и любого другого пользователя будет отдаваться 404 ошибка. А вот тут я уже прошу вашей помощи. Как изменить отдачу 404 на такие ресурсы? Вполне логично что там должна быть авторизационная форма, ресурс с идентификатором n допустим. Спасибо.
Комментарии: 2
                Мне конечно ничего не мешает в настройках сайта 404 ошибке дать id страничке входа, но это же неправильно и некрасиво?            
                    
                modstore.pro/packages/users/office — это не для рекламы дополнения, а для прилагаемой к ней статье и «неверном» назначении прав по-умолчанию в modx'е. Там же и про ошибку замену 404 на аксесс дениед.
В крайнем случае, можно сделать самописный сниппет:
Сниппет getAccess
Вызов:
                    В крайнем случае, можно сделать самописный сниппет:
Сниппет 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=`айди_редиректа`]]            
                            Авторизуйтесь или зарегистрируйтесь, чтобы оставлять комментарии.