ASP.NET成员身份角色和身份验证的缺点?

时间:2009-08-13 19:26:24

标签: asp.net

ASP.NET的成员身份角色和表单身份验证相当新,似乎这将为我的实现节省更多时间和精力。

但是,我还想知道它是否具有所有优点,或者它是否带有任何额外的行李(缺点):

  1. 性能
  2. 可伸缩性
  3. 提前感谢您的回复。

5 个答案:

答案 0 :(得分:4)

我从未遇到过默认提供程序的性能或可伸缩性问题。以下是我在此过程中提到的两个提示。

  1. 如果您在负载平衡设置中使用提供程序和散列密码。您必须在web.config

  2. 中指定您的机器密钥
  3. 默认情况下,用户角色不会被缓存,因此每次需要检查用户角色时,都会对数据库进行往返。在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,它是非常有限的。因此,如果您想要生成大量关于用户的报告,请注意这并不容易有效。