Tuesday, July 20, 2010

XRM Field-Level Security Plugin

One of the most frequently asked features in xRM/CRM development is "Field Level Security" access rights control. According to Microsoft's White Paper, we can implement "Field Level Security" feature by combination of TWO mechanisms i.e; plug-in and SQL Query.

To be honest, I always tried to run away from it whenever my users request for this feature. I have my own reason. I am worry that we can have unforeseen issues in some areas such as business logic implementation, and access rights conflict, if we don't have well plan for field-level access rights controls.

Today, I cannot runaway anymore because one of my clients wants this feature to limit read access for some attributes which we kept for information purpose only. So, with the help of Andriy's contribution and White Paper, I implemented this feature. Of course, the approach will be different from them as usual :)

Below is the list of features supported by my plug-in:
  • Everyone will have ALL access in CRM as default, unless you specify attribute information detail in access rights entity
  • Field-level access rights is controlled by "User Role", and it will apply to all same User Roles across all Business Units.
  • It provides THREE types of access rights: 1) No Access, 2) Read Only, and 3) Read & Create
Feel free to use this application. Either leave comment or email me if you want to know further information or give suggestion to me. But, please use it as your own risk :)

Download Link