2009-01-08 51 views
0

这不是asp.net特有的,其中一些应用程序是WinForms,未来还将添加一些Wpf和可能的一些Silverlight应用程序。SqlRoleProvider&aspnet_regsql的稳定性/可用性如何?

我有要求将角色&基于权限的访问安全性整合到我们正在开发的新应用程序中。

一般而言,.net RoleProviders和SqlRoleProvider似乎拥有我们需要的所有东西,但是我对于aspnet_regsql需要的Db架构更改有一些担忧。

我试过这些Google搜索,但我不知道要问什么。

  1. 如何简单(或没有)是将是.NET版本之间的升级呢?
  2. .net 2.0和.net 3.5应用程序会愉快地使用相同的模式吗?即我们可以.net 2.0和3.5应用程序在相同的Db中使用相同的权限吗?
  3. Sql安全提供程序有多稳定,是否有人在那里愤怒地使用它们?他们值得使用吗?

我是否最好咬住子弹并实现我自己的 - 有限的角色功能(这将完成我需要的一切)和我自己的自定义RoleProvider?

正如你所看到的,我被夹在“不想重新发明轮子”和“没有被一些未知的第三方代码困扰的问题之间”(反正我也不知道,这就是为什么我问你)

预先感谢您的咨询&推荐,

BW

回答

3

我已经使用内置提供了多年现在已经(在不同的项目),没有问题。自从它被推出2.0以来没有任何改变。

如果sql提供程序完成您所需的所有工作,请使用它,除非您需要其他功能,否则无需推出自己的产品。

您可以留意的一件事 - 这适用于个人资料,会员资格和角色 - 是sprocs的效率。如果你看看sprocs,你会发现在每次执行时都会从各个表中获取数据。例如,几乎每个查询(我都记得查看)查询当前请求的appid。如果您只有一个在数据库上运行的应用程序,可能会矫枉过正并且可以更改。 Omar Al Zabir的article (The Code Project)谈论了配置文件的改进。

+0

优秀,良好的联系了。谢谢 – 2009-01-08 16:57:26

1

我相信SqlRoleProvider是要走的路。它具有高度可扩展性,易于设置。除非你已经推出了自己的经过验证的解决方案(那么你为什么要发布这个问题),那么这是一个没有道理的。

我同意webchanix,该系统确实允许多个应用程序,并执行大量表扫描,但最终,我认为我们正在讨论基于它的好处的非常小的perf命中。