我如何知道当前用户可以访问给定的安全密钥?

时间:2017-01-20 10:08:01

标签: axapta dynamics-ax-2009

在我当前的Dynamics AX项目中,我必须在表单中添加一个字段组,并通过给定的安全密钥保护该组。对于无权访问此安全密钥的人,我必须显示替换文本。

如何测试当前用户是否有权访问安全密钥,以便在这种情况下我可以隐藏替换文本?

2 个答案:

答案 0 :(得分:2)

您可以使用以下代码查找用户是否有权访问安全密钥:

SecurityKeySet securityKeys; 
AccessType     accessType; 
; 

securityKeys = new SecurityKeySet(); 
securityKeys.loadUserRights(curUserId()); 
accessType = securityKeys.access(securityKeyNum("YourSekurityKey")); 
info(enum2str(accessType));

答案 1 :(得分:1)

我建议使用 hasSecuritykeyAccess(securityKeyId securityKeyId, AccessType neededAccessLevel) 方法。

if (hasSecuritykeyAccess(securityKeyNum(YourSecurityKey), AccessType::Delete))
{ 
    info('Access granted');
}
else
{
    info('Access rejected');
}