0

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

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

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

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

IE

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

我是否最好咬紧牙关并实现我自己的 - 有限的 - 角色功能(这将做我需要的一切)和我自己的自定义角色提供者?

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

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

体重

4

2 回答 2

3

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

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

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

于 2009-01-08T15:41:30.537 回答
1

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

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

于 2009-01-10T19:35:18.093 回答