Answers:
.NET的两个最大的RBAC是NetSqlAzMan http://netsqlazman.codeplex.com/和RhinoSecurity https://github.com/ayende/rhino-security
如果最终不得不从头开始,则可以使用以上两种方法中的任何一种作为基础。
Exchange提供了一个受约束的运行空间,并且在该运行空间中实际上没有任何cmdlet。看起来是cmdlet的实际上是代理功能。通过限制提供的代理功能以及代理功能公开每个cmdlet的功能,可以控制运行空间中的功能。
复制将涉及到开发一个例程,这些例程将根据运行空间所属的角色组为运行空间的用户量身定制代理功能。我看不出有什么理由不能将AD组作为您的角色组。
实现细节将是特定于应用程序的,但是从根本上讲,这意味着您可以通过选择提供给该用户的代理功能具有哪些参数和/或限制该功能将为特定参数接受的值来限制谁可以使用cmdlet的哪些参数。