Ограничение прав пользователей

  • 24 Ответов
  • 5734 Просмотров

0 Пользователей и 1 Гость просматривают эту тему.

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

Re: Ограничение прав пользователей
« Ответ #1 : 11.02.2010, 00:59:07 »
Еще раз говорю: в fabrik если пользоваель создал свое объявление, то по логике он может производить действия только с своими творениями (удаление и редактирование). на практике все по другому... Каждый может залезть и отредактировать (или удалить) чужое творение, как ограничить пользователей в правах, что бы они кроме как к своему материалу доступа нукуда больше не имели? Есть здесь кто нибудь толковый вообще?

*

ovenm

  • ***
  • 101
  • 3
  • Мы все сможем, если захотим
Re: Ограничение прав пользователей
« Ответ #2 : 12.02.2010, 10:50:31 »
Насчет толковых - не знаю. Но  судя по назначению модуля он отношения к правам доступа не имеет. для ограничения прав необходимо совершать некоторые программные действия, например поместить (обернуть) вызов в материал а уж его защищать.

Re: Ограничение прав пользователей
« Ответ #3 : 17.02.2010, 01:04:48 »
Если честно, я ничего не понял... так можно это в fabrik реализовать или нет?

Re: Ограничение прав пользователей
« Ответ #4 : 17.02.2010, 01:06:52 »
Всеравно спасибо большое, но мне не понять что значит "обернуть"...

*

ovenm

  • ***
  • 101
  • 3
  • Мы все сможем, если захотим
Re: Ограничение прав пользователей
« Ответ #5 : 17.02.2010, 10:32:47 »
В материал можно вставлять вызов плагина Fabrik (его надо включить после установки)

Insert Fabrik views (table/form/details/visualizations) into your content.
Forms

{fabrik view=form id=1} Will allow you to add a new record to a form whose id is 1

{fabrik view=form id=1 row=1} will let the user edit that form's row 1.

{fabrik view=details id=1 row=1} will show a read only view of that form's row 1.
Tables

{fabrik view=table id=1} to insert a table whose id is 1.

{fabrik view=table id=1 tablename___elementname=foobar} will filter the table to show only records where 'elementname' has a value of 'foobar'

{fabrik view=table id=1 tablename___elementname=1 showfilters=0} will show the table's filtered results without any search filters showing
Visualisations

{fabrik view=visualization id=1} will show visualization id 1
Element data

{fabrik view=element table=11 rowid=239 element=element_test___checkbox} to insert table 11 row 239's checkbox element's data
Common modifiers

For which ever view you choose you can change its template by adding 'layout=templatename'

Specifiy if a filter is an exact match with tablename___elementname[match]=1

Re: Ограничение прав пользователей
« Ответ #6 : 18.02.2010, 02:28:14 »
А можно поподробней что, и главное куда надо вставить, чтобы это заработало. Я не очень силен в коде,только начинаю ковырятся, компонент fabrik хорош, нормально работает, если еще и это наладить - получится хорошая доска объявлений... если не затруднительно... пока если брать желания и знания, - желания побеждают с большим перевесом...

*

sholban

  • ***
  • 30
  • 0
Re: Ограничение прав пользователей
« Ответ #7 : 18.02.2010, 04:20:24 »
Похожая проблема, - только мне нужно организовать доступ пользователям только к своей странице, а их 200 человек! Чтобы чужие зарегистрированные не могли просматривать персональные страницы других пользователей, а только свои... Похоже Joomla 1.5 не в силах с этой проблемой справиться в принципе. Уже третий месяц в форуме помощи прошу, ни один даже не гукнул... :-(
жмаю клаву, устал уже...

Re: Ограничение прав пользователей
« Ответ #8 : 22.02.2010, 16:44:49 »
Ну похоже все... тишина гробовая...

*

dimon68

  • ***
  • 151
  • 24
  • Skype: joomlaru
Re: Ограничение прав пользователей
« Ответ #9 : 01.03.2010, 12:07:07 »
Можно использовать предварительный фильтр в настройках таблицы во вкладке "Данные".

Для этого в записях должно быть поле с id пользователя разместившего эту запись, выбираем этот элемент в поле WHERE.
Выбираем условие EQUALS.
В поле значение пишем {$my->id}.
Выбираем тип - Текст.
В правом поле выбираем к каким группам пользователей применять этот фильтр.

После этого пользователям будут показываться только их личные записи.

Re: Ограничение прав пользователей
« Ответ #10 : 04.03.2010, 01:35:30 »
Спасибо, я попробую...

Re: Ограничение прав пользователей
« Ответ #11 : 06.03.2010, 17:10:07 »
Можно использовать предварительный фильтр в настройках таблицы во вкладке "Данные".

Для этого в записях должно быть поле с id пользователя разместившего эту запись, выбираем этот элемент в поле WHERE.
Выбираем условие EQUALS.
В поле значение пишем {$my->id}.
Выбираем тип - Текст.
В правом поле выбираем к каким группам пользователей применять этот фильтр.

После этого пользователям будут показываться только их личные записи.

Спасибо, заработало! но наполовину...
Теперь таблицу для просмотра не видно незарегестрировынным посетителям...
А идея была такая: смотрят таблицу все, а редактируют и удаляют только свои записи (в зарегестрированном состоянии)
Может это я что то не так делаю?

Re: Ограничение прав пользователей
« Ответ #12 : 06.03.2010, 23:28:19 »
Ну помогите уже кто нибудь, пожалуйста!

*

dimon68

  • ***
  • 151
  • 24
  • Skype: joomlaru
Re: Ограничение прав пользователей
« Ответ #13 : 07.03.2010, 23:41:40 »
В этом случае данные фильтровать не надо, пусть выводятся все для всех.
А во вкладке "Доступ", на странице раедактирования таблицы, есть настройка прав для редактирования, надо только выбрать поле таблицы, содержащее идентификатор пользователя. Правда сам ещё не пробовал, насколько эта функция работает.

Re: Ограничение прав пользователей
« Ответ #14 : 08.03.2010, 00:06:25 »
Пробывал, не работает...

Re: Ограничение прав пользователей
« Ответ #15 : 08.03.2010, 15:05:38 »
Сделал проще. скопировал еще одну таблицу с записью в туже таблицу базы, и повесил на разные пункты меню:
Все предложения: таблица без ограничений
Мои объявления: таблица с ограничениями, как описано выше (через {$my->id})
Но вот беда! Перестали работать ссылки детального просмотра!
Может есть у кого нибудь мысли на эту тему?

Re: Ограничение прав пользователей
« Ответ #16 : 08.03.2010, 15:44:03 »
Все, разобрался, спасибо!

Re: Ограничение прав пользователей
« Ответ #17 : 08.03.2010, 22:41:35 »
Похожая проблема, - только мне нужно организовать доступ пользователям только к своей странице, а их 200 человек! Чтобы чужие зарегистрированные не могли просматривать персональные страницы других пользователей, а только свои... Похоже Joomla 1.5 не в силах с этой проблемой справиться в принципе. Уже третий месяц в форуме помощи прошу, ни один даже не гукнул... :-(

Если Fabrik подходит для решения твоих проблем, читай выше, все работает, я сам в шоке! 3 месяца бился...

Re: Ограничение прав пользователей
« Ответ #18 : 08.03.2010, 22:43:00 »
отдельное спасибо "dimon68", он на мысль натолкнул...

Re: Ограничение прав пользователей
« Ответ #19 : 02.11.2010, 17:59:20 »
Господа. В моей Joomla вывод ID пользователя через {$my->id} не работает

В нужных местах выводил вот так
$user =& JFactory::getUser();
$userId = $user->get( 'id' );

А как здесь отфильтровать по UserID?

*

ovenm

  • ***
  • 101
  • 3
  • Мы все сможем, если захотим
Re: Ограничение прав пользователей
« Ответ #20 : 02.11.2010, 23:19:57 »
Синтаксическая конструкция {$my->id}  работает только в контексте Fabrik ( в условиях при описании фильтров и полей, в материале (статье) в контексте {fabrik ....}. Он ее сам парсит и вне себя самого не имеет права (возможности)  этим заниматься

*

ovenm

  • ***
  • 101
  • 3
  • Мы все сможем, если захотим
Re: Ограничение прав пользователей
« Ответ #21 : 02.11.2010, 23:23:42 »


Но, если внимательно и вдумчиво читать этот пост, то можно найти несколько реализаций ограничения доступа и Joomla здесь вообще не при делах

Re: Ограничение прав пользователей
« Ответ #22 : 03.11.2010, 09:08:14 »
Действительно, конструкция в пре-фильтре работает.

Моя ошибка заключалась в том, что я сравнивал id и {$my->id}.

Завел элемент userid, подключил его (с атрибутом hidden) к форме, потому что так его фактически в ней не было и фильтровать по пользователю таблицу было нельзя. Все заработало.

*

Gorilla

  • ***
  • 66
  • 0
Re: Ограничение прав пользователей
« Ответ #23 : 04.02.2016, 23:06:49 »
Это помогает, вот только теперь условно администратор не может просматривать все записи, а только свои. Как сделать исключение для определенной группы или юзера?

*

Gorilla

  • ***
  • 66
  • 0
Re: Ограничение прав пользователей
« Ответ #24 : 05.02.2016, 12:52:51 »
Решено