Russian TYPO3 community

Russian TYPO3 community (http://forum.typo3.ru/index.php)
-   Общие вопросы (http://forum.typo3.ru/forumdisplay.php?f=12)
-   -   Crawler+userGroups+Indexedsearch (http://forum.typo3.ru/showthread.php?t=6962)

Boris 02.11.2008 18:55

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

Boris 02.11.2008 21:38

Спасибо за быстрыий ответ!

Цитата:

страница индексируется для каждой группы отдельно.
И пока юзер из соответствующей группы не зайдет на страницу, она не проиндексируется.
Да, но если юзер который раньше заходил находится в группе 1 и 2, то страница индексируется толко для етой комбинации.
А для юзеров, которые только в группе 2 находятся , ета индексация не действительна.
Таже ситуация для страниц с неограниченным правом доступа


Цитата:

а вот это запросто может быть вообще не сделано. Т.е. если нужны эти права может быть придется патчить indexed_search или indexer
видно сыроват plugin , а жаль :)
хотя он имеет статус - Stable

Boris 02.11.2008 21:48

Посмотрел 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) ...

PHP код:

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

Цитата:

Сообщение от Boris (Сообщение 22198)
Да, но если юзер который раньше заходил находится в группе 1 и 2, то страница индексируется толко для етой комбинации.
А для юзеров, которые только в группе 2 находятся , ета индексация не действительна.
Таже ситуация для страниц с неограниченным правом доступа

да, именно так


Цитата:

Сообщение от Boris (Сообщение 22198)
видно сыроват plugin , а жаль :)
хотя он имеет статус - Stable

он в заброшенном состоянии. Давно уже писали, над ним работают (чтобы увеличить скорость поиска). Но пока результатов не публиковали.

Зато сейчас Дулепов часто обновляет mnogosearch плагин - я только не знаю, есть ли там поддержка разграничения доступа к контенту.

Boris 03.11.2008 15:58

Код HTML:

Зато сейчас Дулепов часто обновляет mnogosearch плагин - я только не знаю, есть ли там поддержка разграничения доступа к контенту.
Я как раз хотел спросить о mnogosearch, работал ли кто-нибудь с ним? :)


Часовой пояс GMT +4, время: 12:50.

Работает на vBulletin® версия 3.8.1.
Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
Перевод: zCarot