2009-01-08 53 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命中。