0
A
回答
1
我在這裏找到:http://arsalanax.blogspot.be/2012/02/role-based-security-in-ax.html
角色都存儲在SecurityRole
用戶到角色映射在SecurityUserRole
職責存儲在SecurityTask
&特權責任映射存儲在特權SecuritySubTask
職責mappin GS被存儲在SecurityRoleTaskGrant
UPDATE(查詢添加)
SecurityTaskEntryPoint taskEntryPoint;
SecurityRole role;
SecurityRoleTaskGrant taskGrant;
SecuritySubTask subTask;
SecurityTask privilege;
str privName;
str dutyName;
str entrName;
str accessLevel;
;
while select taskEntryPoint
join subTask
where subTask.SecuritySubTask == taskEntryPoint.SecurityTask
join taskGrant
where taskGrant.SecurityTask == subTask.SecurityTask
join role
where role.RecId == taskGrant.SecurityRole
&& role.AotName like 'Sales*'
//|| role.AotName like 'System*'
{
if (subTask.RecId)
{
switch (taskEntryPoint.PermissionGroup)
{
case AccessRight::View:
accessLevel = "R";
break;
case AccessRight::Edit:
accessLevel = "U";
break;
case AccessRight::Add:
accessLevel = "C";
break;
case AccessRight::Delete:
accessLevel = "D";
break;
default:
accessLevel = "";
break;
}
}
select privilege
where privilege.RecId == taskGrant.SecurityTask
&& SecurityTaskType::Duty == privilege.Type;
dutyName = privilege.AotName;
select privilege
where privilege.RecId == subTask.SecuritySubTask
&& SecurityTaskType::Privilege == privilege.Type;
privName = privilege.AotName;
info(strFmt("EP: %1, Pr: '%2', Du: %3, Ro: %4, Ac: %5", taskEntryPoint.EntryPoint, privName, dutyName, role.AotName, accessLevel));
}
1
安全職責是在表SecurityTask
與第一類型等於1(SecurityTaskType ::工作狀態)。
安全特權是在表SecurityTask
與類型等於0(SecurityTaskType ::特權)
安全處理週期在表SecurityTask
與類型等於2(SecurityTaskType :: ProcessCycle)。
所有這些對象也在表(或更確切地說是查看)SysModelElement
(職責與元素類型== 135)。
相關問題
- 1. AX的源文件存儲在哪裏?
- 2. 內存管理的責任在哪裏?
- 3. redmine組的名稱存儲在哪裏?
- 4. 我的git別名存儲在哪裏?
- 5. PHP中的Db抽象的職責在哪裏開始和結束?
- 6. IPB4 - 組名存儲在哪裏?
- 7. POSIX名爲Semaphore存儲在哪裏?
- 8. TortoiseHg擴展名存儲在哪裏?
- 9. git存儲文件名稱在哪裏?
- 10. 哪裏存儲了名爲卷的docker?
- 11. 履行職責
- 12. 單一職責
- 13. MVVM中的模型職責
- 14. 在哪裏存儲在Python
- 15. Umbraco Contour在哪裏存儲表單?
- 16. 在哪裏存儲正則表達式?
- 17. 哪裏hive在本地存儲表?
- 18. 診斷/日誌存儲表在哪裏?
- 19. WebMatrix在哪裏存儲其MRU列表?
- 20. Oracle在哪裏存儲表註釋?
- 21. Multilang Webites:在哪裏存儲langs列表?
- 22. 存儲地址'名稱/標籤存儲在哪裏?
- 23. .NET「獨立存儲」存儲在哪裏?
- 24. 在哪裏存儲數據?
- 25. Properties.Settings.Default存儲在哪裏?
- 26. .data()在哪裏存儲值?
- 27. Express.js/Passport.js:req.user存儲在哪裏?
- 28. OCUnit在哪裏存儲NSUserDefaults?
- 29. BaseX Db在哪裏存儲?
- 30. 在哪裏存儲配置
請看看我上面的答案。我可以在加入語句中引用SecurityTask來獲取aotName,對吧? – SamekaTV
你需要加入嗎? 'SecurityTask'上的單個選擇就足夠了。你想做什麼?我看不到加入或選擇你的答案。 –
我試圖從多個角色的權限中獲取入口點。在AOT中 - 入口點是在特權下找到的,特權是在職責和責任下發現的。這是我組織訪問權限的方式。請查看我的答案,該答案已隨查詢更新。 – SamekaTV