PDA

Просмотр полной версии : Права доступа на wiki страницы


margol
17.08.2007, 17:23
Здравствуйте! Организован разделенный по правам доступ на страницу, содержащую dr_wiki плагин. Проблема в том, что все, кому разрешен доступ на страницу могут ее и редактировать.
В разделе Доступ у меня установлен владелец, имеющий все права доступа, а группа и все могут только читать, то есть: *xxxx.
Но не тут-то было все, кто видят содержание этой страницы, могут ее и редактировать.

Как этого избежать? Как сделать, чтобы все не могли редактировать вики страницу? Чтобы кто-то редактировал, а кто-то читал?
Спасибо.

void
17.08.2007, 19:40
Судя по беглому взгляду на код, там элементарно нет такой проверки. То есть либо патчить dr_wiki, либо вообще не использовать dr_wiki, а пользоваться какой-либо внешней викой (возможно интегрировав её через SSO).

margol
20.08.2007, 13:10
Спасибо за ответ, я нашла где прописать проверку пользователя. Вот только есть еще вопросы:
1. В какой таблице хранится информация об имени залогинившегося пользователя? В какой список страниц и контента этих страниц, к которому он имеет доступ? Или может это есть в какой-нибудь глобальной переменной?
2. Если интегрировать другую wiki то как это делается. Но все таки хотелось бы обойтись встроенными средствами, пусть даже поправленными.

Спасибо.

Dutchak Vitaly
20.08.2007, 16:39
$GLOBALS['TSFE']->fe_user->user - информация о текущем залогиненом пользователе

margol
20.08.2007, 17:35
Огромное спасибо! Вы мне очень помогли.
Скажите, пожалуйста, еще вот что:
1. В каком глобальном массиве содержится список групп, которым разрешен доступ к данному КОНТЕНТУ? Мне необходимо проверять состоит ли пользователь в этой группе.
2. Где можно почитать о глобальных массивах typo3?

void
20.08.2007, 19:33
1. Группы имеются в виду фе-юзеров, если я правильно понимаю. Эта информация хранится не в глобальном массиве, а в базе данных в поле fe_group для каждой записи в таблице tt_content.
2. Начать лучше отсюда: http://wiki.typo3.org/index.php/Extension_Development
Впрочем, детального описания TSFE я в документации не встречал.
Основные глобальные объекты тайпы - это:
1) TYPO3_DB - класс более-менее абстрактного доступа к БД,
2) TSFE - класс фронтэнда. В нем хранятся данные о текущем пользователе, сессии, текущей странице, TS Setup, языке и вообще всё, что относится к фронтэнду,
3) TYPO3_CONF_VARS - глобальные настройки из localconf.php,
4) TCA - основа тайпы, массив конфигурации таблиц.

margol
21.08.2007, 13:18
Спасибо огромное!