【发布时间】:2011-04-24 19:19:13
【问题描述】:
我正在尝试为我的应用程序构建一个简单的基于用户名-密码-角色的安全对象模型。要求是用户将使用用户名和密码输入,并且他/她将根据他们所处的角色启用和禁用对系统部分的访问。我认为这是相当简单的想法。
现在这里是我的查询。我在业务对象中有一个基类,它被所有其他类继承。在我的安全项目中,例如很少有课程。安全性、身份(包含用户配置文件信息)等。想法是我的基类将使用此安全对象,并且继承的类可以为给定(登录)用户引用此安全对象。所以例如如果我登录到应用程序并访问帐户模块,因为帐户模块继承了我的基类,它知道我是谁,我属于什么角色等。因此我可以在我的帐户模块中有一个属性 CanExecute可以根据用户的角色打开/关闭。
希望我尽量把这点说清楚。我真的会在编码和架构方面应用任何输入。
非常感谢, 猎物
【问题讨论】:
-
当你说'build'时,你的意思是从已经存在的formsauthentication和MembershipService类中实现吗? (参见 System.Security 和 System.Security.Principal)
-
对不起,我的意思是开发。该项目正在开发中。到目前为止,我还没有使用过formauthentication 和memebership 类。你认为这将是正确的方式去。我的用户数据库非常简单,只有几个表(用户、角色)。
-
activebiz - 我认为您可能应该使用内置的 foms/membership 东西,因为这还(免费)为您提供了所有控制器和动作装饰器 [Authorize] 等,这将允许您做什么你想立即在控制器级别。此外,您还可以使用身份验证票证等。您还可以构建自定义配置文件提供程序,允许您将用户表直接绑定到 profilecommon 类。这东西有很多很好的链接。如果你觉得这可能是一条更好的下坡路,我会稍后再看看。
标签: .net security object model