|  06.12.2013, 22:50 | #1 | 
| Участник | ax 2012 привилегии 
			
			Добрый вечер! Осваиваю Ax 2012. Стоит след. задача. Есть в системе привилегия #1  и есть форма на которой два поля поле1 и поле2. Значения поля1 может быть 0 либо 1. Как из кода проверить, что если в поле1 - 0 и в пользователя есть привилегия, то нужно выполнять делать доступное к редактированию поле2. Раньше использовали в пред. версиях Securitykey. Сейчас нужно именно на привилегиях.  Пробовал через SecurityRights::construct().hasServerMethodAccess(класс1, метод1). Но всегда чегото true, под разными пользователями. Заранее благодаю. | 
|  | 
|  07.12.2013, 10:00 | #2 | 
| Участник | 
				__________________ // no comments | 
|  | 
|  07.12.2013, 11:07 | #3 | 
| Участник | 
			
			спс, читал уже не один раз, конкретного что то не нашел.
		 | 
|  | 
|  09.12.2013, 08:57 | #4 | 
| Участник | |
|  | |
| За это сообщение автора поблагодарили: Logger (1). | |
|  05.08.2015, 13:33 | #5 | 
| Участник | |
|  | 
|  05.08.2015, 15:01 | #6 | 
| Талантливый разгвоздяй | 
			
			Насколько я понял, задача - выделить нескольких привилегированных пользователей, которые могут редактировать информацию в поле2. Если не завязываться конкретно на функционал привилегий, то я бы советовал посмотреть в сторону групп пользователей:  
 Последний раз редактировалось Kabardian; 05.08.2015 в 15:05. | 
|  | 
|  05.08.2015, 15:10 | #7 | 
| Участник | Цитата: 
		
			Сообщение от Kabardian
			   Насколько я понял, задача - выделить нескольких привилегированных пользователей, которые могут редактировать информацию в поле2. Если не завязываться конкретно на функционал привилегий, то я бы советовал посмотреть в сторону групп пользователей:  
 | 
|  | 
|  05.08.2015, 15:42 | #8 | 
| Участник | 
			
			пользуюсь следующим методом. единственное, что админы не проходят данную проверку X++: static boolean hasAccessToPrivilege(SecurityTaskAotName _privilegeName, UserID _userId = curUserId()) { UserInfo userInfo; SecurityUserRole securityUserRole; SecurityRoleTaskGrant srtGrant; securityRoleExplodedGraph securityRoleExplodedGraph; securityTaskExplodedGraph securityTaskExplodedGraph; SecurityTask securityTask; select firstOnly RecId from securityTask where securityTask.AotName == _privilegeName; if (securityTask.RecId) { select RecId from userInfo where userInfo.Enable && userInfo.id == _userId exists join securityUserRole where securityUserRole.User == userInfo.Id && securityUserRole.AssignmentStatus == RoleAssignmentStatus::Enabled exists join securityRoleExplodedGraph where securityUserRole.SecurityRole == securityRoleExplodedGraph.SecurityRole exists join srtGrant where srtGrant.SecurityRole == securityRoleExplodedGraph.SecuritySubRole exists join securityTaskExplodedGraph where securityTaskExplodedGraph.SecurityTask == srtGrant.SecurityTask && securityTaskExplodedGraph.SecuritySubTask == securityTask.RecId; } return userInfo.RecId != 0; } | 
|  | |
| За это сообщение автора поблагодарили: Kabardian (2), АртемМелихов (1). | |
| Теги | 
| ax2012 | 
|  | 
| 
 |