Просмотр полной версии : Crawler+userGroups+Indexedsearch
Прикрутил на своем проекте (Интранет) Crawlewr и Indexedsearch.
Добавляю Url в очередь для кравлера:
а) для страниц, в настройках кравлера (TSConfig- Rootpage)
б) для новостей, через Indexing Configuration (DatabaseRecords -News) на странице с SingleView.
В основном все работает, но не могу разобраться с правами.
1. Почему если я индексирую страницы для userGroups = 1,2 , то пользователь который находится толко в группе-1 , не может видеть результаты в поиске?
И почему страницы не ограниченные правами доступа (grlist=0,-1) не видятся в поиске для любых 'залогиненых' пользователей?
Не пойму логики.
Я читал, что для каждой комбинации в конфигурации нужно прописывать типа: userGroups = 0,-2,1,4,5
Но у меня очень моного групп, и пользователи могут быть в различных группах (они синхронизируются через LDAP с АД).
Во-первых я не знаю все возможные комбинации, во-вторых их может быть очень много.
2. Для News-Records вообже не учитываются права доступа, установленные в news(после индексирования везде в grlist=0,1)
Может я чего-то не правильно делаю или не понимаю?
Valery Romanchev
02.11.2008, 20:58
1. Почему если я индексирую страницы для userGroups = 1,2 , то пользователь который находится толко в группе-1 , не может видеть результаты в поиске? страница индексируется для каждой группы отдельно.
И пока юзер из соответствующей группы не зайдет на страницу, она не проиндексируется.
Вообще этот механизм недоделан и имеет баги
Советую посмотреть в багтрекере, там могут быть рецепты решения проблем.
2. Для News-Records вообже не учитываются права доступа, установленные в news(после индексирования везде в grlist=0,1)а вот это запросто может быть вообще не сделано. Т.е. если нужны эти права может быть придется патчить indexed_search или indexer
Спасибо за быстрыий ответ!
страница индексируется для каждой группы отдельно.
И пока юзер из соответствующей группы не зайдет на страницу, она не проиндексируется.
Да, но если юзер который раньше заходил находится в группе 1 и 2, то страница индексируется толко для етой комбинации.
А для юзеров, которые только в группе 2 находятся , ета индексация не действительна.
Таже ситуация для страниц с неограниченным правом доступа
а вот это запросто может быть вообще не сделано. Т.е. если нужны эти права может быть придется патчить indexed_search или indexer
видно сыроват plugin , а жаль :)
хотя он имеет статус - Stable
Посмотрел function checkResume в class.tx_indexedsearch.php,
так там в лоб сравниваются $GLOBALS['TSFE']->gr_list с gr_list из TAB 'index_grlist':
gr_list='.$GLOBALS['TYPO3_DB']->fullQuoteStr($GLOBALS['TSFE']->gr_list) ...
if (strcmp($row['gr_list'],$GLOBALS['TSFE']->gr_list)) {
// Selecting for the grlist records belonging to the phash-row where the current users gr_list exists. If it is found it is proof that this user has direct access to the phash-rows content although he did not himself initiate the indexing...
$res = $GLOBALS['TYPO3_DB']->exec_SELECTquery('phash', 'index_grlist', 'phash='.intval($row['phash']).' AND gr_list='.$GLOBALS['TYPO3_DB']->fullQuoteStr($GLOBALS['TSFE']->gr_list, 'index_grlist'));
if ($GLOBALS['TYPO3_DB']->sql_num_rows($res)) {
//t3lib_div::debug('Checking on it ...'.$row['item_title'].'/'.$row['phash'].' - YES ('.$GLOBALS['TSFE']->gr_list.")",1);
return TRUE;
} else {
//t3lib_div::debug('Checking on it ...'.$row['item_title'].'/'.$row['phash']." - NOPE",1);
return FALSE;
}
} else {
//t3lib_div::debug('Resume can be shown, because the document was in fact indexed by this combination of groups!'.$GLOBALS['TSFE']->gr_list.' - '.$row['item_title'].'/'.$row['phash'],1);
return TRUE;
}
Valery Romanchev
03.11.2008, 13:15
Да, но если юзер который раньше заходил находится в группе 1 и 2, то страница индексируется толко для етой комбинации.
А для юзеров, которые только в группе 2 находятся , ета индексация не действительна.
Таже ситуация для страниц с неограниченным правом доступа
да, именно так
видно сыроват plugin , а жаль :)
хотя он имеет статус - Stable
он в заброшенном состоянии. Давно уже писали, над ним работают (чтобы увеличить скорость поиска). Но пока результатов не публиковали.
Зато сейчас Дулепов часто обновляет mnogosearch плагин - я только не знаю, есть ли там поддержка разграничения доступа к контенту.
Зато сейчас Дулепов часто обновляет mnogosearch плагин - я только не знаю, есть ли там поддержка разграничения доступа к контенту.
Я как раз хотел спросить о mnogosearch, работал ли кто-нибудь с ним? :)
Работает на vBulletin® версия 3.8.1. Copyright ©2000-2025, Jelsoft Enterprises Ltd. Перевод: zCarot