按钮可见性取决于现场安全配置文件

时间:2014-02-03 09:58:27

标签: javascript dynamics-crm-2011 dynamics-crm-2013

我想隐藏/禁用依赖于用户字段安全配置文件的按钮。我想到了一个在customizations.xml文件中使用的javascript webresource,如果执行用户拥有指定的字段安全配置文件,则返回true或false。是否有可能使用JavaScript检索这些信息,还是有其他方式?

我试图获取安全字段的值,但如果用户的角色和字段为空且用户没有角色,则它始终返回null。

var securedField = Xrm.Page.getAttribute('secured_field').getValue();
console.log(securedField);

用户没有安全配置文件 - > null

用户拥有安全配置文件,字段为空 - > null

用户具有安全配置文件,字段具有值 - > value

1 个答案:

答案 0 :(得分:1)

获取用户角色: 你可以尝试:

var UserRoles = Xrm.Page.context.getUserRoles();

另请参阅更复杂的查询路线:

http://blogs.infinite-x.net/2010/11/16/retreiving-user-roles-in-crm-2011/

虽然^^

,但效果确实很好

获取属性的权限:

var attributePrivileges = Xrm.Page.getAttribute(attributeName).getUserPrivilege();
console.log('Can read: ' + attributePrivileges.canRead);
console.log('Can create: ' + attributePrivileges.canCreate);
console.log('Can update: ' + attributePrivileges.canUpdate);

MSDN article