Dynamics AX 2009“用户组权限”

时间:2012-05-23 10:35:57

标签: axapta microsoft-dynamics

我想准备非常快速的“用户组权限”,但这很难例如如果我想为管理添加访问权限 - >位置查看此软件仅授予父级权限,但不授予此权限中的所有节点家长。我该怎么做才能解决这个问题?

enter image description here

如果我要点击维度集,我需要获得该父级中所有孩子的权限。你知道我要做什么吗?

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
}

1 个答案:

答案 0 :(得分:1)

如果要设置安全性,则应该遵循“应该”遵循的流程,首先收集最终用户执行的流程,根据这些流程定义安全角色,然后设置组。我已经接受过MS Partners的安全培训,我们从未对任何内容进行硬编码。 “管理”模块中有一个用于安全性的设置区域,您可以在此处定义用户组和权限,然后将用户分配给组,也可以从此处为单个记录设置记录级别安全性。