Axapta “动态AX 2009”;“用户组权限”;
我想快速准备“用户组权限”,但这是非常困难的,例如,如果我想添加对“管理”->“位置”视图的访问权限,则此软件仅对父节点授予权限,而不对该父节点中的所有节点授予权限。我应该如何解决此问题 如果单击“维度集”,则需要对此父对象中的所有子对象授予权限。你知道我要做什么吗Axapta “动态AX 2009”;“用户组权限”;,axapta,microsoft-dynamics,Axapta,Microsoft Dynamics,我想快速准备“用户组权限”,但这是非常困难的,例如,如果我想添加对“管理”->“位置”视图的访问权限,则此软件仅对父节点授予权限,而不对该父节点中的所有节点授予权限。我应该如何解决此问题 如果单击“维度集”,则需要对此父对象中的所有子对象授予权限。你知道我要做什么吗 public void MCOVgrantFullAccess(SecurityKeySet _startSecurityKeySet = null) { //klasa systemowa dictionary http
public void MCOVgrantFullAccess(SecurityKeySet _startSecurityKeySet = null)
{
//klasa systemowa dictionary http://msdn.microsoft.com/en-us/library/aa600103(v=ax.50).aspx
Dictionary dictionary = new Dictionary();
DictSecurityKey dictSecurityKey;
int i;
if (_startSecurityKeySet)
securitySet = _startSecurityKeySet;
else
securitySet = SysSecurity::constructSecurityKeySet();
// securityKeyCnt() An integer that indicates the number of security keys. http://msdn.microsoft.com/en-us/library/aa600103(v=ax.50).aspx
// i = 365
for (i=dictionary.securityKeyCnt(); i; i--)
{
dictSecurityKey = new DictSecurityKey(dictionary.securityKeyCnt2Id(1));
if (!dictSecurityKey.parentSecurityKeyId())
{
securitySet.access(dictSecurityKey.id(), AccessType::Delete);
}
}
SysSecurityFormSetup::delete(userGroupId, domainId); //Delete setup of form controls
formSetupMap = new Map(Types::String, Types::Class); //Clear cache
}
如果您正在设置安全性,则有一个“应该”遵循的流程,您可以从收集最终用户执行的流程开始,根据这些流程定义安全角色,然后设置组。我接受过MS Partners的安全培训,我们从未硬编码过任何东西。在管理模块中有一个安全设置区域,您可以在其中定义用户组和其中的权限,然后将用户分配给组,还可以从这里为单个记录设置记录级别的安全性