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。

MS CRM 2011 Field Security Profile_第1张图片

然后我们将该field放置到form中,可以看到该Bank Account旁边画着一把钥匙,表明该field为security field。

MS CRM 2011 Field Security Profile_第2张图片

保存并publish customizations后,我们打开一个客户的表单。由于我使用的是system administrator用户,所以我拥有对Bank Account的读与写的权限。我为一个客户填写进他的Bank Account信息。

MS CRM 2011 Field Security Profile_第3张图片

然后如果以另一个CRM用户登录的话,打开同一个客户,会看到什么呢?

MS CRM 2011 Field Security Profile_第4张图片

可以看到,虽然有权限打开该客户,但是Bank Account的信息都被隐藏起来。我们再试着用Advanced Find来查看该客户的Bank Account。

MS CRM 2011 Field Security Profile_第5张图片

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。

MS CRM 2011 Field Security Profile_第6张图片

在Members/Users中添加你想要赋予权限的用户:

MS CRM 2011 Field Security Profile_第7张图片

在Common/Field Permissions中,设置用户对security fields的权限。默认为Read、Update、Create都为No。我们将Read 改为Yes,Update和Create都为No。这样用户就对Bank Account信息拥有读取的权限,但不具有创建或更改的权限。

MS CRM 2011 Field Security Profile_第8张图片

MS CRM 2011 Field Security Profile_第9张图片

这次如果你再以Daisy Cabell的身份登录CRM,你会发现你可以看到Bank Account的信息了,并且该信息为只读的。

MS CRM 2011 Field Security Profile_第10张图片

最后总结一下,如果想要在某些entity中保存一些保密的信息,可以创建enable security的field,并创建新的Field Security Profile来赋予用户对该field的权限。

你可能感兴趣的:(Security)