我将为将用于本地扫描的业务创建一个小型应用程序,并将文档存储在位于本地计算机或位于同一LAN中的计算机上的数据库中。
我可以用用户名和密码创建一个名为User的表,并根据usertype ID显示一个表单或另一个表单。但我对经验丰富的程序员推荐的方法更感兴趣。
有什么建议吗?
编辑:,我在寻找一些足够安全,但也足够可扩展的东西。
发布于 2010-06-07 21:10:40
如果它只是一个简单的应用程序,不要使用宇宙飞船横过马路。
创建以下DB模式:
用户:用户名和散列密码
:RoleName,RoleID,RoleStrength(int)
RolesMembership:包含用户and和roleid以允许未来多个成员身份的Rolemembership表。
在设置角色时,给它们一个数字权重。ie:管理员= 1000,超级用户= 500,客人= 10。这样,在您的表单中,您可以说,如果用户级别在500或以上,设置完整视图,否则,只查看或不访问。
更好的方法是使用安全类(例如IsPowerUser或IsAdmin )将其抽象出来。
它简单,可读性和可重用性。
发布于 2010-06-07 17:12:13
即使是我也不能认为自己“经验丰富”,我会给出我的答案,因为我正面临同样的问题在这几周。
我将定义一个权限掩码,以标识允许的操作,将其关联到角色组,然后将用户与组关联。更完整的是权限掩码,组定义中允许更多的粒度。
通过这种方式,可以为多个用户定义一个权限定义,这比使用每个用户类型的基础定义角色要好,因为权限掩码可以修改和扩展。
可以采用更复杂的方案,允许每个用户的权限覆盖组权限,或层次结构权限掩码,以便定义能够管理组权限的主管用户。这些模型的应用取决于所需的可伸缩性和系统的用户数。
发布于 2010-06-07 17:07:28
我可以使用用户名和密码创建一个名为User的表,并根据用户类型ID显示一个表单或另一个表单。
听起来对我来说是个合理的方法。记住破解密码。
我还会将表单中的公共控件组件化,这样您就可以重用公共部分。
https://stackoverflow.com/questions/2991543
复制相似问题