【问题标题】:How stable/usable is SqlRoleProvider & aspnet_regsql?SqlRoleProvider 和 aspnet_regsql 的稳定性/可用性如何?
【发布时间】:2010-09-30 06:38:30
【问题描述】:

这不是特定于 asp.net 的,其中一些应用程序是 WinForms,将来还会添加一些 Wpf 和可能的 Silverlight 应用程序。

我需要将基于角色和权限的访问安全性放入我们正在开发的新应用中。

.net RoleProviders,特别是 SqlRoleProvider 似乎拥有我们需要的一切,但是我对 aspnet_regsql 需要的 Db Schema 更改有一些担忧。

我试过用谷歌搜索这些,但我不确定要问什么。

  1. 在 .net 版本之间进行升级会有多简单(或不简单)?
  2. .Net 2.0 和 .net 3.5 应用程序会愉快地使用相同的架构吗?即,我们能否让 .net 2.0 和 3.5 应用在同一个 Db 中使用相同的权限?
  3. Sql 安全提供程序有多稳定,是否有人在愤怒地使用它们?它们值得使用吗?

我最好还是硬着头皮实施我自己的 - 有限 - 角色功能(这将满足我需要的一切)和我自己的自定义 RoleProvider?

如您所见,我陷入了“不想重新发明轮子”和“不被一些未知的 3rd 方代码所困扰”之间(反正我不知道,这就是我问你的原因)

提前感谢您的建议和推荐,

体重

【问题讨论】:

    标签: .net asp.net security roles


    【解决方案1】:

    我多年来一直在使用内置提供程序(在不同的项目上),没有任何问题。自从 2.0 推出以来,一切都没有改变。

    如果 sql 提供程序可以满足您的所有需求,请使用它,除非您需要其他功能,否则几乎没有理由推出您自己的。

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

    【讨论】:

      【解决方案2】:

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

      我同意 webchanix,该系统确实允许多个应用程序并进行大量表扫描,但最后,我认为我们谈论的是基于它的好处的一个非常小的性能命中。

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 2011-05-25
        • 2016-01-14
        • 2015-09-20
        • 2017-10-20
        • 1970-01-01
        • 1970-01-01
        • 2012-04-25
        相关资源
        最近更新 更多