Asp.net mvc 2 提供程序和Asp.NET MVC2:我真的需要它吗?

Asp.net mvc 2 提供程序和Asp.NET MVC2:我真的需要它吗?,asp.net-mvc-2,domain-driven-design,membership-provider,Asp.net Mvc 2,Domain Driven Design,Membership Provider,我看到了很多关于如何创建自定义会员资格提供商的文章和帖子,但没有找到任何关于为什么我必须/应该在我的MVC2 web应用程序中使用它的解释。除了“嘿,安全性很难!”之外,整个MembershipProvider子系统的哪些关键部分我应该知道,哪些我不知道,因为我只读过关于如何覆盖部分的内容?是否有一些“幕后魔法”是我看不到的,我必须自己实现?是否有一些属性或其他功能在没有正确设置MembershipProvider的情况下会自动失效 我正在使用DDD方法构建一个web应用程序,所以在我看来,我有

我看到了很多关于如何创建自定义会员资格提供商的文章和帖子,但没有找到任何关于为什么我必须/应该在我的MVC2 web应用程序中使用它的解释。除了“嘿,安全性很难!”之外,整个MembershipProvider子系统的哪些关键部分我应该知道,哪些我不知道,因为我只读过关于如何覆盖部分的内容?是否有一些“幕后魔法”是我看不到的,我必须自己实现?是否有一些属性或其他功能在没有正确设置MembershipProvider的情况下会自动失效

我正在使用DDD方法构建一个web应用程序,所以在我看来,我有一个用户实体和一个组实体。我不需要在提供程序下自定义ValidateUser();我可以把它作为我的用户实体上的一个方法。无论如何,我必须有一个用户对象,才能实现不在MemebrshipProvider下的东西


那么,有什么好处呢?:)

不,你不需要它。我有使用它的网站,也有不使用它的网站。使用它的一个原因是ASP.NET中已经为它提供了管道,您只需提供适当的配置项(并设置DB或AD或其他内容),就可以轻松实现身份验证


另一方面,RoleProvider在使用内置属性和派生时非常方便。实现RoleProvider将为您节省大量授权方面的自定义编程。

不,您不需要它。我有使用它的网站,也有不使用它的网站。使用它的一个原因是ASP.NET中已经为它提供了管道,您只需提供适当的配置项(并设置DB或AD或其他内容),就可以轻松实现身份验证


另一方面,RoleProvider在使用内置属性和派生时非常方便。实现RoleProvider将为您节省大量授权方面的自定义编程。

在我看来,实现某种类型的角色提供程序并不难。我现在使用的代码不到50行,包括自定义授权属性。@Necros-我没有说这很难,只是它已经连接到authorized属性中了。也许你反对的是将其定性为“合理数量”。对我来说,必须实现自己的属性,而您可以将现有属性与合适的角色提供程序实现一起使用。我最终没有在这个特定实例中使用它,而是紧密地模仿它。在我看来,实现某种角色提供程序并不是那么困难。我现在使用的代码不到50行,包括自定义授权属性。@Necros-我没有说这很难,只是它已经连接到authorized属性中了。也许你反对的是将其定性为“合理数量”。对我来说,必须实现自己的属性,而您可以将现有属性与合适的角色提供程序实现一起使用,这是符合条件的。我最终没有在这个特定的实例中使用它,而是紧密地模仿它。