用户安全角色权限不够的解决方法

来源:互联网 发布:arm linux gcc 安装 编辑:程序博客网 时间:2024/05/01 14:56

最近有朋友问我,新建的用户角色已经给一些核心记录(比如客户和联系人)足够的权限了,为什么这些用户还是不能访问记录呢?

 

这是因为我们对系统做了一些开发。我们新建了一些实体间的关系,并在表单(Form)上显示这个关联字段(LookupField)。譬如我们在客户上面有一个垂直市场的关联字段,如果我们只是单纯的赋予用户角色客户的权限,而没有赋予用户角色垂直市场的读权限。那么用户在打开客户实体时就会遇到权限不够的报错。我们可以打开Trace,在最新的那条记录中就会显示用户角色因为缺少哪一个实体的权限而报错。


例子如下(自己新建的用户角色,经常会缺失用户和用户设置的读权限,但每个记录是和用户有关联的):

1)打开Trace

运行regedit,到HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\MSCRM

TraceEnabled设为11为打开,0为关闭)

TraceCategories设为*Error

其他为默认就好了

 

2)重复错误并检查

用户访问报错了,到C:\Program Files\Microsoft DynamicsCRM\Trace下面可以找到最新的Log文件


检查最新的记录,发现用户因为缺少prvReadUserSetting这个权限而出错

Microsoft.Crm.CrmException:Principal user (Id=43d23d1a-9dc6-e211-ab42-005056a800fd, type=8) is missingprvReadUserSettings privilege (Id=8437fa7c-3681-4fc7-bfd8-53a23fdecd65)

 

大家可以上这个网页查找权限和UI里的对应关系

http://msdn.microsoft.com/en-us/library/hh547441.aspx

 

3)设置权限

重新给用户角色提升需要的权限,这个“用户设置”至少需要“业务部门级”(Business Unit)的权限,要不报表会出“参数未设置的错误”。

 

谢谢阅读!

 

JakeZhong

 

P.S,最近较忙服务器端的优化估计要晚一点写了,不好意思!

原创粉丝点击