MS CRM 2011 Field Security Profile
CRM一直以来对于权限的控制都是使用security role,但security role是对entity读写等操作的权限控制。如果你要对entity上的某一个field进行权限的控制,就要使用field security profile了。注意:security profile只能对custom field进行控制。
假如在客户entity中,我们创建了一个field Bank Account。这里存储这用户的银行账户信息。我们想要设置,只有部分CRM用户有权限来读取该信息。也就是说,即便有的用户有权限读取客户entity,但是他没有权限来读取客户的Bank Account信息。注意,在创建Bank Account field的时候,要设置Field Security Enabled。
然后我们将该field放置到form中,可以看到该Bank Account旁边画着一把钥匙,表明该field为security field。
保存并publish customizations后,我们打开一个客户的表单。由于我使用的是system administrator用户,所以我拥有对Bank Account的读与写的权限。我为一个客户填写进他的Bank Account信息。
然后如果以另一个CRM用户登录的话,打开同一个客户,会看到什么呢?
可以看到,虽然有权限打开该客户,但是Bank Account的信息都被隐藏起来。我们再试着用Advanced Find来查看该客户的Bank Account。
Bank Account的信息是空的。所以如果没有赋予CRM用户权限来读取Bank Account field的话,即便该用户有权限读取该客户,但他也没有权限读取Account Bank field。那么如何赋予用户读写Bank Account 的权限呢? 这就要用到 Field Security Profile了。重新以system administrator的身份登录CRM。在System –> Administration –> Field Security Prifiles 中创建一个新的profile,命名它为Account Manager。
在Members/Users中添加你想要赋予权限的用户:
在Common/Field Permissions中,设置用户对security fields的权限。默认为Read、Update、Create都为No。我们将Read 改为Yes,Update和Create都为No。这样用户就对Bank Account信息拥有读取的权限,但不具有创建或更改的权限。
这次如果你再以Daisy Cabell的身份登录CRM,你会发现你可以看到Bank Account的信息了,并且该信息为只读的。
最后总结一下,如果想要在某些entity中保存一些保密的信息,可以创建enable security的field,并创建新的Field Security Profile来赋予用户对该field的权限。
作者:Coding十日谈
来源链接:https://www.cnblogs.com/jfzhu/archive/2012/10/27/2742087.html
版权声明:
1、JavaClub(https://www.javaclub.cn)以学习交流为目的,由作者投稿、网友推荐和小编整理收藏优秀的IT技术及相关内容,包括但不限于文字、图片、音频、视频、软件、程序等,其均来自互联网,本站不享有版权,版权归原作者所有。
2、本站提供的内容仅用于个人学习、研究或欣赏,以及其他非商业性或非盈利性用途,但同时应遵守著作权法及其他相关法律的规定,不得侵犯相关权利人及本网站的合法权利。
3、本网站内容原作者如不愿意在本网站刊登内容,请及时通知本站(javaclubcn@163.com),我们将第一时间核实后及时予以删除。