![]() |
1
1
如果只是一个简单的应用程序,不要用宇宙飞船横穿马路。 创建以下DB架构: 用户 :用户名和哈希密码 角色 角色成员 :rolememembership表,其中包含userid和roleid以允许将来的多个成员身份。 在设置角色时,给它们一个数字权重。例如:Admins=1000,Power users=500,guests=10。这样,在窗体上,您可以说,如果用户级别为500或更高,则设置full view,否则设置view only或no access。 更好的方法是,使用IsPowerUser或IsAdmin之类的安全类将其抽象出来。 它简单,可读性和可重用性。 |
![]() |
2
1
我将定义一个权限掩码,以便标识允许的操作,将其与角色组相关联,然后将用户与组相关联。权限掩码越完整,组定义中允许的粒度就越大。
可以采用更复杂的方案,即允许每个用户的权限覆盖组权限,或使用层次权限掩码来定义能够管理组权限的主管用户。 这些模型的应用取决于所需的可伸缩性和系统的用户数量。 |
![]() |
3
0
对我来说这是个合理的选择。记住把密码散列一下。 我还将对表单中的公共控件进行组件化,以便您可以重用公共部分。 |
![]() |
4
0
如果您使用的是visualstudio,我只会使用内置的成员资格提供者。那会自动处理你的数据库和一切。不需要重新发明轮子。 |
![]() |
5
0
尽管面向ASP.NET,但我还是建议您仔细阅读本文: http://www.4guysfromrolla.com/articles/120705-1.aspx
最后,请阅读MSDN官方文章: http://msdn.microsoft.com/en-us/library/yh26yfzy.aspx 关于“角色”: http://msdn.microsoft.com/en-us/library/ff647401.aspx |
![]() |
Emopusta · 从后端到前端的图像路径不工作 2 年前 |
![]() |
Asdrubal Hernandez · Linq查询特定数组索引出错 2 年前 |
![]() |
Niyazi Babayev · 如何在表达式中动态应用表达式? 3 年前 |
|
Dansih · .Net核心自定义身份验证方案 3 年前 |
![]() |
lolorekkk · 面板插入。NET WinForm 3 年前 |