【问题标题】:Security object model .net安全对象模型.net
【发布时间】: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


【解决方案1】:

活跃商务,

从上面回顾一下:

我认为您可能应该使用内置的 FormsAuthentication 和 MembershipService 类,因为这还(免费)为您提供了所有控制器和动作装饰器 [Authorize] 等,这将允许您直接在控制器级别做您想做的事情离开。

此外,您还可以使用身份验证票证等。您还可以构建一个自定义配置文件提供程序,允许您将用户表直接绑定到配置文件公共类。这东西有很多很好的链接。

如果您觉得这可能是一条更好的下坡路,我会稍后再查看。

[edit] 链接如承诺。当我找到它们时会添加。 这里有一个关于 SO 的初学者:

Implementing Profile Provider in ASP.NET MVC

还有一位来自我的老伙伴 Lee dumond:

http://leedumond.com/blog/asp-net-profiles-in-web-application-projects/

【讨论】:

  • 感谢 Jim,我相信这与 Preet Sangha 所说的类似。我也认为这是一个好主意,因为它提供了很多开箱即用的东西。如果你能来找我,我会很高兴的。谢谢,
【解决方案2】:

.net 内置了这种东西。查找 GenericPrincipal 和授权。 ASP.NET 还内置了身份验证。

例如:http://www.15seconds.com/issue/041208.htm 和这里:http://www.codeproject.com/KB/security/SecurityModelDotNet.aspx

应该让你开始

【讨论】:

  • 我可以在我的自定义用户数据库中使用 GenericPrincipal(和/或授权)吗?我不打算在 AD 之类的东西中使用构建(例如),如果你能指出我正确的方向,我会非常感激。
  • 我在这里忘记提及的一件事是,这是针对 WPF 应用程序而不是针对 ASP.NET。我还能使用 GenericPrincipal 吗?
  • 哦,是的。这是一个 .net 的东西,而不仅仅是 ASP.NET。我们用于所有 .net 应用程序(winforms、WPF、控制台、ASP.net 和服务)
猜你喜欢
  • 1970-01-01
  • 2011-07-12
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2014-02-28
  • 2019-02-12
  • 2011-12-20
相关资源
最近更新 更多