什么用于ASP.NET MVC中的自定义帐户控制

时间:2010-02-18 17:32:55

标签: asp.net-mvc authentication asp.net-membership

我正在创建自定义身份验证服务(我只需要超过默认允许值)。我无法决定是否应该扩展MembershipUser并实现适当的接口,或者完全自行完成。在扩展默认机制时,我是否有任何优势可以推广我自己,或者我应该注意的任何陷阱?

3 个答案:

答案 0 :(得分:2)

你离默认设备有多远?

如果您的需求与MembershipProvider给您的需求相差甚远,我建议您自己选择。我个人没有遇到连接到现有数据存储的应用程序。所以我们将添加另一个应用程序。因此,我发现MembershipProvider方式过度设计。身份验证/授权通常也不会花费太多时间来开发并完全控制它。如果它确实需要花费很多时间,那么它可能与MembershipProvider给你的东西相去甚远。

但如果您的要求接近MembershipProvider,那么您应该考虑它。既可以是自己的,也可以来自它。但要注意。这可能比交付你自己的时间更长,因为你必须一直学习它。

安全管理要求

如果您使用MembershipProvider(或您自己的继承类),您还可以获得IIS集成,因此可以轻松管理应用程序的安全设置。如果您自己滚动,则必须为此提供一个界面,这可能需要相当长的时间。

答案 1 :(得分:0)

实现MembershipProvider抽象类。如果你需要,我在这里有一个XML作为数据存储的实现。

http://msdn.microsoft.com/en-us/library/system.web.security.membershipprovider.aspx?queryresult=true

答案 2 :(得分:0)

编写自己的提供程序总是很有趣,但这取决于您正在构建的应用程序的安全性需求。

我必须实施自己的提供商的大多数情况。

  • 使用像nhibernate这样的orm。
  • 没有数据库因此需要使用平面xml文件。
  • 我必须构建一个系统,该系统需要比提供的成员类更广泛的角色权限系统。

好的是,如果你需要,你可以在不同的提供者之间切换..