2009-08-13 156 views
1

对于ASP.NET的成员角色和表单身份验证来说,这似乎是新的,这样可以为我的实现节省更多的时间和精力。ASP.NET成员身份角色和身份验证的缺点?

但是,我也想知道如果它在所有善良或者它在以下方面进行任何额外的行李(缺点):

  1. 性能
  2. 可扩展性

谢谢提前为您的答复。

+0

您打算使用哪个提供商? ADAM,Active Directory,Sql,Ms-Access,XML?性能和可伸缩性将由此决定。 – MatthewMartin 2009-08-13 21:27:13

回答

4

我从来没有遇到与默认提供程序的性能或可伸缩性问题。以下是我一路拾起的两个提示。

  1. 如果您在负载平衡设置中使用提供程序和哈希密码。您必须在web.config中指定您的机器密钥

  2. 默认情况下,不会缓存用户角色,因此每次需要检查用户角色时,都会往返DB。在web.config的标记中使用cacheRolesInCookie =“true”属性将为您缓存它们。

0

简答:在性能和可扩展性方面没有真正的包袱。如果有的话,真正的包袱是可测试性和可移植性(gobal static singletons是不好的),但是你可以对此进行编码。

0

它可能会工作得很好,你可以随时切换提供者或写你自己的。

我已经编写了一个提供程序,它作为ASP.NET身份验证系统和POCO类以及存储库和nHibernate之间的一层工作,这样我可以让用户登录并获得身份验证ASP.NET MVC out-of但是我的系统中有任何其他模型/视图/控制器的用户和角色。同样,通过使用IoC和接口,我可以在不同的项目中使用完全相同的提供程序,以不同的方式处理用户。好极了。奇怪的是,这样的事情并没有出现。

0

如果您使用默认提供程序,那么执行诸如搜索或过滤用户或执行管理类事务可能非常困难,因为您无法(轻松)直接查询数据库。你必须经历API,而且它非常有限。所以,如果你想制作大量的用户报告,请注意这并不容易。