Уважаемые пользователи!
C 7 ноября 2020 года phpBB Group прекратила выпуск обновлений и завершила дальнейшее развитие phpBB версии 3.2.
С 1 августа 2024 года phpBB Group прекращает поддержку phpBB 3.2 на официальном сайте.
Сайт официальной русской поддержки phpBB Guru продолжит поддержку phpBB 3.2 до 31 декабря 2024 года.
С учетом этого, настоятельно рекомендуется обновить конференции до версии 3.3.

Аутентификация пользовтелей

Проблемы с установкой или работой phpBB 2.0.x? Ищите ответы здесь!
PoTaP0ff
phpBB 1.2.0
Сообщения: 18
Стаж: 15 лет
Благодарил (а): 1 раз

Аутентификация пользовтелей

Сообщение PoTaP0ff »

Подскажите пожалуйста, как и где происходит проверка вошедших юзверей на то могут ли они писать в данном форуме или нет, я так понял для этого служит файл auth.php, но чет понять, что и как пока не могу.
Заранее спасибо.
Аватара пользователя
Поручик
Former team member
Сообщения: 3942
Стаж: 18 лет 10 месяцев
Откуда: Оренбург (Южный Урал)
Благодарил (а): 24 раза
Поблагодарили: 54 раза
Контактная информация:

Re: Аутентификация пользовтелей

Сообщение Поручик »

В auth.php только определения функций, проверка прав доступа происходит в viewforum.php. Смотрите Блок между строками

Код: Выделить всё

//
// Start auth check
..................
..................
// End of auth check
//
в posting.php фрагмент между

Код: Выделить всё

// What auth type do we need to check?
и

Код: Выделить всё

// Set toggles for various options
Профессионал - тот же дилетант, только знающий, где ошибётся.
Генератор db_update.php для phpBB2 с некоторыми удобствами. Многие моды я беру или ищу здесь, здесь, тут
Все консультации только на форуме, приваты и стук в аську по таким вопросам игнорируются!
FAQ-phpBB3 | Ошибки новичков, или как не поссориться с модератором | Правила конференции

наш форум http://forum.aeroion.ru/cat1.html
PoTaP0ff
phpBB 1.2.0
Сообщения: 18
Стаж: 15 лет
Благодарил (а): 1 раз

Re: Аутентификация пользовтелей

Сообщение PoTaP0ff »

Ну вот смотрите, у меня между этими блоками в viewforum.php следущее.

Код: Выделить всё

//
// Start auth check
//
$is_auth = array();
$is_auth = auth(AUTH_ALL, $forum_id, $userdata, $forum_row);

if ( !$is_auth['auth_read'] || !$is_auth['auth_view'] )
{
	if ( !$userdata['session_logged_in'] )
	{
		$redirect = POST_FORUM_URL . "=$forum_id" . ( ( isset($start) ) ? "&start=$start" : '' );
		redirect(append_sid("login.$phpEx?redirect=viewforum.$phpEx&$redirect", true));
	}
	//
	// The user is not authed to read this forum ...
	//
	$message = ( !$is_auth['auth_view'] ) ? $lang['Forum_not_exist'] : sprintf($lang['Sorry_auth_read'], $is_auth['auth_read_type']);

	message_die(GENERAL_MESSAGE, $message);
}
//
// End of auth check
//
Я так понял, что создается массив $is_auth, в него мы записываем какие права имеет пользователь в данном разделе, а происходит это посредством функции auth(AUTH_ALL, $forum_id, $userdata, $forum_row); которая в свою очередь берется из файла auth.php(насколько я это понял). Дальше мы проверяем if ( !$is_auth['auth_read'] || !$is_auth['auth_view'] ), если у нас право смотреть форум... впринципе все...
Вообщем я хотел следущее: Уже добавли в админке в раздел Доступ к форумам еще одну колонку, допустим специалист, и выпадающее меню, как и в остальной части... Дольше описал это поле в файле auth.php в функции auth()

Код: Выделить всё

	switch( $type )
	{
		...
		case AUTH_SP:
			$a_sql = 'a.auth_sp';
			$auth_fields = array('auth_sp');
			break;
		...
		default:
			break;
	}
Соответственно и в БД все есть, теперь я могу выбирать в админке как мне надо эту опцию, все работает.
Дальше мне надо наделить юзверей, входящих в группу, в которой включена данная опция (стоит выбор - приватный) определенными польномочиями, вот блин непойму где и примерно как это сделать...
Объяснил, как мог - сильно не пинайте, жду ответа.
Заранее спасибо.
Аватара пользователя
Поручик
Former team member
Сообщения: 3942
Стаж: 18 лет 10 месяцев
Откуда: Оренбург (Южный Урал)
Благодарил (а): 24 раза
Поблагодарили: 54 раза
Контактная информация:

Re: Аутентификация пользовтелей

Сообщение Поручик »

Где-то была статья на тему добавления новых прав доступа, по-моему на английском языке. Попробуй поищи по словам "group permission system phpBB 2".
Профессионал - тот же дилетант, только знающий, где ошибётся.
Генератор db_update.php для phpBB2 с некоторыми удобствами. Многие моды я беру или ищу здесь, здесь, тут
Все консультации только на форуме, приваты и стук в аську по таким вопросам игнорируются!
FAQ-phpBB3 | Ошибки новичков, или как не поссориться с модератором | Правила конференции

наш форум http://forum.aeroion.ru/cat1.html
PoTaP0ff
phpBB 1.2.0
Сообщения: 18
Стаж: 15 лет
Благодарил (а): 1 раз

Re: Аутентификация пользовтелей

Сообщение PoTaP0ff »

(((( Чет ненашел, блин, а без этой статьи никто не поможет?

Вообщем с viewforum.php разобрался, а с posting.php все сложнее, никак не пойму че и как там, помогите пожалуйста, оч. надо. Мне нужно понять, где происходит проврка на то, может ли пользователь писать в данном топике(т.е. проверяет юзверей, входящих в группу, которая относится к данному форуму, на предмет пареметров описанных выше(т.е. мне надо мой доп. параметр проверить и еще кое что проверить, взяв из нужной мне таблице))
PoTaP0ff
phpBB 1.2.0
Сообщения: 18
Стаж: 15 лет
Благодарил (а): 1 раз

Re: Аутентификация пользовтелей

Сообщение PoTaP0ff »

Ну помогите ктонибудь... разбирался с auth.php, кое че понял, но вот доконца - нет, как же всетаки добавить и использоват правильно новое правило доступа?
Закрыто

Вернуться в «Поддержка phpBB 2.0.x»