如何使用.NET
问题描述:
获得细粒度授权我想获得类似MSCRM授权:如何使用.NET
在这个rappresentation我们看到:
- 实体(市场营销列表,活动)
- 允许操作(创建,读取,写入,删除,追加,追加到,分配,共享)
- 范围(用户,业务部门, ation)
我有2个实体+8个允许的操作+4个范围。
我想在.NET应用程序中表示相同的情况。 我看到获得这个的唯一方法是创建表达各种组合所需的所有组。在这个例子中,我需要使用RoleProvider中的方法在我的代码中处理2 * 8 * 4 = 64个组。
对我来说这似乎有点奇怪。我缺少一些安全概念或创建64个组是表达此级别可配置性的唯一方法?
感谢
答
简短的回答:是的,你必须有64点的东西来表示他们的权限,64组无。
我们在我的公司开发的应用程序中使用了类似的模型,但我们有类似的东西。
用户权限级别
- 级别1
- 级别2
- 级别3
- 等级4
应用程序域(不同的组块,人们可能需要不同的权限)
- 域1
- 域2
- 域3
- 域4
然后在管理部分中的用户被分配权限如下:
Domain 1 Domain 2 Domain 3 Domain 4
User A Level 1 Level 4 Level 3 Level 3
然后,在该应用我们说
域1安全代码
If currentUser.Islevel1 Then
YouCanDoIT();
Else
WhyYouHereBro();
End
基本上,您分配给用户一个域的权限级别,并让安全权限只检查该域的级别。让我知道你是否需要实际的实施细节。
什么版本?Fx4 – 2011-02-08 12:33:18
框架.NET 4.0 – Ricibald 2011-02-08 16:32:47