ASP.NET的成员身份角色和表单身份验证相当新,似乎这将为我的实现节省更多时间和精力。
但是,我还想知道它是否具有所有优点,或者它是否带有任何额外的行李(缺点):
提前感谢您的回复。
答案 0 :(得分:4)
我从未遇到过默认提供程序的性能或可伸缩性问题。以下是我在此过程中提到的两个提示。
如果您在负载平衡设置中使用提供程序和散列密码。您必须在web.config
默认情况下,用户角色不会被缓存,因此每次需要检查用户角色时,都会对数据库进行往返。在web.config中的标记中使用cacheRolesInCookie =“true”属性将为您缓存它们。
答案 1 :(得分:1)
我在许多大型Web应用程序中使用ASP.Net中的SQL成员资格提供程序,并且从未遇到任何问题。
在我们当前的应用程序中,我们必须添加额外的字段,并使用额外的API公开这些字段。
Optimize ASP.NET Membership Stored Procedures for greater speed and scalability
答案 2 :(得分:0)
简短回答:在性能和可扩展性方面没有真正的包袱。如果有的话,真正的行李是可测试性和可移植性(全球静态单身人士都很糟糕),但你可以围绕它进行编码。
答案 3 :(得分:0)
它可能会正常工作,您可以随时切换提供商或自己编写。
我编写了一个提供程序,它作为ASP.NET身份验证系统和POCO类之间的层与存储库和nHibernate一起工作,这样我就可以让用户登录并获得ASP.NET MVC的认证。盒式方式,但我的系统中的用户和角色与任何其他型号/视图/控制器一样。此外,通过使用IoC和接口,我可以在不同的项目中使用完全相同的提供程序,以不同的方式处理用户。好极了。奇怪的是,这样的东西没有开箱即用。
答案 4 :(得分:0)
如果您使用默认提供程序,则执行搜索或筛选用户或执行管理类型操作等操作非常困难,因为您无法(轻松)直接查询数据库。你必须通过API,它是非常有限的。因此,如果您想要生成大量关于用户的报告,请注意这并不容易有效。