|  14.02.2008, 08:22 | #1 | 
| Участник | Безопасность на уровне записей 
			
			Здравствуйте! Стоит задача настроить доступ пользователям так, чтобы менеджеры могли видеть только свои заказы на покупку/продажу (Dynamix AX 4.0). Нецелесообразно для каждого менеджера создавать отдельную группу прав и в Безопасности на уровне записей жестко задавать фильтр по полю Автор. Этот вопрос обсуждался ранее в теме Одновременный доступ к заказу 2х пользователей. Может быть, что-то изменилось с тех пор, или кто-нибудь иначе настроил доступ к своим записям для пользователя без программирования и используя всего одну группу прав доступа для заказов? Последний раз редактировалось Andromache; 14.02.2008 в 08:29. | 
|  | 
|  14.02.2008, 09:53 | #2 | 
| Участник | 
			
			Прошу прощения, искала ответ на другой вопрос и нашла еще несколько тем с описанием такой проблемы. Остался только вопрос, что такое RLS? | 
|  | 
|  14.02.2008, 10:06 | #3 | 
| MCTS | 
			
			RLS - Record Level Security права доступа на уровне записей, т. е. для групп пользователей настраиваются фильтры для записей таблиц, которые они могут читать / редактировать / удалять | 
|  | 
|  14.02.2008, 10:08 | #4 | 
| Участник | |
|  | 
|  14.02.2008, 10:19 | #5 | 
| SAP | 
			
			Недавно боролся с похожей задачей менеджерам необходимо было  видеть только свою информацию и информацию своих подчиненных (по вертикали). Без программной доработки не обошлось    | 
|  | 
|  14.02.2008, 14:56 | #6 | 
| Member | 
			
			Не изменилось ничего с тех пор.
		 
				__________________ С уважением, glibs® | 
|  | 
|  14.02.2008, 15:35 | #7 | 
| Участник | 
			
			А не в курсе, есть ли изменения в 5-ке по этому поводу?
		 
				__________________ С уважением Шатохин Святослав. | 
|  | 
|  14.02.2008, 16:47 | #8 | 
| Участник | 
			
			Вряд ли, иначе б уже раструбили об этом   Радует, что RLS вроде как не отвалится и будет корректно работать при использовании выборок сразу из нескольких компаний - Алексей Еременко уточнял это в своем блоге. | 
|  | 
|  14.02.2008, 17:03 | #9 | 
| Member | 
			
			Корректно — это как? В каждой компании он применит фильтры соответствующей компании?
		 
				__________________ С уважением, glibs® | 
|  | 
|  10.03.2010, 16:14 | #10 | 
| Участник | 
			
			В 2009 появилась функция currentUserId() в критериях запросов. Используя ее можно настроить, чтобы пользователи видели только свои записи (по полю CreatedBy). Просмотр работает.  Но при попытке создать запись, пишет ошибку: Цитата: 
		
			Невозможно создать запись в Заказы на продажу (SalesTable). Отказано в доступе для создания записи в таблице, поскольку задан критерий фильтра для безопасности на уровне строки. 
				__________________ Ivanhoe as is.. | 
|  | |
| За это сообщение автора поблагодарили: sukhanchik (2), gl00mie (2). | |
|  10.03.2010, 23:46 | #11 | 
| Administrator | Цитата: 
		
			Сообщение от Ivanhoe
			   В 2009 появилась функция currentUserId() в критериях запросов. Используя ее можно настроить, чтобы пользователи видели только свои записи (по полю CreatedBy). Просмотр работает.  Но при попытке создать запись, пишет ошибку: Я так понимаю сначала происходит проверка RLS и только после этого заполняется поле CreatedBy. Получается, что использование такой штуки возможно только со своим полем "createdby", заполняемым до сохранения записи. 
				__________________ Возможно сделать все. Вопрос времени | 
|  | |
| За это сообщение автора поблагодарили: belugin (3), Ivanhoe (3). | |
|  11.03.2010, 10:02 | #12 | 
| Участник | 
			
			Если кому интересно, новые функции для Range прописываются в классе SysQueryRangeUtil - там есть еще удобные, например, текущий сотрудник, разные функции по датам. Изначально, я так понимаю, они сделаны для Cues - новый объект 2009, который позволяет создавать "стопки документов для обработки" в ролевом центре. У меня в голове крутится, что в AX 2009 сделана настройка что-то типа "Показывать только автору", которая ставит фильтр на текущего пользователя по полю CreatedBy. Но вот вчера навскидку не нашел такой галки - может кто подскажет? Очень похоже, что это сделано в журналах ГК (по ним нашел только ограначение разноски по пользователям, задается в наименовании журнала), но саму галку не могу найти  upd: есть фильтр в журнале ГК "Показывать только созданное пользователем", но мне казалось, что есть жесткая галка в параметрах... 
				__________________ Ivanhoe as is.. Последний раз редактировалось Ivanhoe; 11.03.2010 в 10:05. Причина: upd | 
|  | |
| За это сообщение автора поблагодарили: sukhanchik (4), Atar (1), Stainless (1). | |
|  12.03.2010, 14:40 | #13 | 
| MCTS | 
			
			Похоже в DAX 2009 все же есть некоторые изменения. В отличие от DAX 4.0 не работает ограничение RLS, если пользователь входит также в группу, дающую более полные права на данную таблицу, в частности вообще не ограниченные RLS.
		 | 
|  | 
|  12.03.2010, 14:46 | #14 | 
| Участник | |
|  | 
|  12.03.2010, 15:08 | #15 | 
| Moderator | Цитата: | 
|  | |
| За это сообщение автора поблагодарили: alex55 (1). | |
|  12.03.2010, 16:37 | #16 | 
| MCTS | Цитата: 
		
			Сообщение от fed
			   В общем - знакомые из Турции сказали что после того как они накатили одно из самоновейших обновлений к DAX2009, схема работы с RLS вернулась к тому что было в 4ке. Они такой засады не ожидали (и даже не знали как криво все работало в 3ке-4ке) и, мягко говоря, были расстроены. Оказалось что даже в readme к hotfixу было написано что мол по просьбам пользователей возвращаем  | 
|  | 
|  12.03.2010, 17:14 | #17 | 
| Участник | 
			
			ИМХО отследить урезание проще, чем почему права не работают. То есть, схема ах3 и 4 привычнее - это факт. Просто нужно использовать минимум две группы прав Одну на функционал, другую только под РЛС, включив там таблицы, а то он не работает, если ключа на таблице нет в этой группе. Вот это как раз неудобно и лучше бы исправили. А ситуация, когда пользователь в нескольких группах и где-то РЛСа нет, а таблица включена - равнозначно, что РЛС просто не сработает? И это сейчас в ах2009 так? Тогда это правильный багфикс. | 
|  | 
|  12.03.2010, 17:59 | #18 | 
| Moderator | 
			
			Ну в общем - я всех подробностей не помню, но клиент мне сказал что мол мы для обычных закуперов настроили через RLS закупки по конкретным поставщикам, а для крутых закуперов не настроили RLS вообще и они видели все закупки. До хотфикса все работало, после хотфикса - крутым закуперам вообще закупки перестали показываться. Неужели такое поведение было в версиях 3 и 4 ? Я клиенту сказал что-то типа: "Вот именно поэтому я нигде и не пользовался RLS..." Просто этот турецкий клиент сидит на расширенной поддержке, (которая в России формально есть но которую, похоже что, никто так и не купил). Дык им их менеджер в MS регулярно присылает вышедшие обновления, нудно спрашивает - накатили ли они их, и если в обновлении есть какие-то грабли (типа изменившегося поведения RLS) то в письме написано про то что прежде чем ставить надо подготовиться. Цитата: 
		
			А есть ли возможность узнать более подробную инфу по данному обновлению?
		
	 Последний раз редактировалось fed; 12.03.2010 в 18:02. | 
|  | 
|  12.03.2010, 18:15 | #19 | 
| MCTS | Цитата: 
		
			Сообщение от fed
			   Ну в общем - я всех подробностей не помню, но клиент мне сказал что мол мы для обычных закуперов настроили через RLS закупки по конкретным поставщикам, а для крутых закуперов не настроили RLS вообще и они видели все закупки. До хотфикса все работало, после хотфикса - крутым закуперам вообще закупки перестали показываться. Неужели такое поведение было в версиях 3 и 4 ? Я клиенту сказал что-то типа: "Вот именно поэтому я нигде и не пользовался RLS..." Окей, спасибо! | 
|  | 
|  12.03.2010, 18:23 | #20 | 
| Moderator | 
			
			Кстати про разницу поведения DAX4 и DAX2009 вот здесь писали: http://blogs.msdn.com/emeadaxsupport...s-ax-2009.aspx Если я правильно понимаю, после какого-то хотфикса поведение 4ки и 2009ой унифицировали | 
|  | 
| Теги | 
| ax2009, ax4.0, rls, доступ на уровне записей, как правильно | 
|  | 
| 
 |