不使用MembershipProvider构建Asp.net mvc 3的缺点

本文关键字:mvc 缺点 net Asp MembershipProvider 构建 | 更新日期: 2023-09-27 18:04:25

在asp.net mvc 3应用程序中不使用MembershipProvider除了必须自己编写所有内容之外,还有什么基本的缺点吗?我想知道是否有更大的东西我错过了,它使更容易。

授权属性会在控制器上工作吗?

谢谢。

不使用MembershipProvider构建Asp.net mvc 3的缺点

AuthorizeAttribute不依赖于ASP。网会员。它只看HttpContext.User

"自己动手"的最大缺点是,大多数人,甚至是专家,在做这件事时会犯错误。授权是困难的,而且,最终,广泛搜索现成的解决方案比尝试自己做全国性新闻来恢复工作要少得多。

如果你认为自己做这件事会使事情"容易得多",那么你几乎肯定低估了问题的范围。

自己实现成员关系是非常棘手的。你可以创建&调试它,它似乎可以工作,但您[可能]没有意识到您的模式是可编程的。在大多数情况下,发现的时候已经太晚了。

例如:用于保存登录用户的加密cookie的算法。如果可以预测或计算,黑客将很容易代表其他用户进入您的应用程序。另一个潜在的安全问题是,如果你在数据库中使用错误的算法加密/盐化用户的密码(据我所知,索尼有明文密码,一旦黑客入侵就会暴露出来。但是我不确定。

除了严重的安全问题外,实现MembershipProvider还为您提供了一组开箱使用的功能,如帐户锁定,密码强度强制执行,密码过期强制执行,可选角色方案等

您失去了速度和安全性(如所提到的),尽管您获得了灵活性/自定义,并且可能是一个很好的但很难学习的经验