joomla - гости могут просматривать зарегистрированные статьи в публичной категории - PullRequest
0 голосов
/ 01 сентября 2011

У меня есть публичный пункт меню, который представляет собой Список категорий, поэтому он отображает список статей из категории.Категория общедоступна, но некоторые статьи предназначены только для зарегистрированных пользователей.Когда зарегистрированный пользователь посещает статью, он попадает на адрес, подобный этому: http://www.example.com/menu-item-title/19-article-alias.

Проблема заключается в том, что зарегистрированный пользователь копирует ссылку на статью и дает ее кому-то незарегистрированному, поскольку незарегистрированный пользователь может получить доступ к контенту.Когда ссылка просто http://www.example.com/19-article-alias, тогда все в порядке, появляется сообщение «Несанкционированный доступ», но изменение формата ссылки не является приемлемым решением, так как кто-то может понять, что ссылки типа http://www.example.com/menu-item-title/19-article-alias доступны без входа в систему.

PS.Я использую Joomla 1.6

1 Ответ

0 голосов
/ 01 сентября 2011

Я чувствую, что мне нужно быть немного расплывчатым, потому что у меня нет Joomla 1.6 передо мной, и почти все, что Joomla слишком сложное.По сути, вам нужно определить, какой контроллер запущен при срабатывании ссылки http://www.example.com/menu-item-title/19-article-alias, и добавить условие в контроллер, когда он печатает содержимое if($user->get('id')).

В версии 1.5 это было:

    if ($user->get('id') ||
        ($view == 'category' && JRequest::getVar('layout') != 'blog' && $viewcache == 0) ||
         $view == 'archive' && $viewcache == 0) {
        parent::display(false);
    } else {
        parent::display(true);
    }

В вашем случае вам может потребоваться дополнительная настройка - условия, при которых они могут и не могут просматривать статью, могут быть более сложными.

...