0

對於ASP.NET MVC Extranet應用程序,使用SQL身份驗證代替ASP.NET Membership API來處理安全性有哪些優缺點?ASP.NET成員身份與SQL身份驗證

+2

SQL身份驗證是ASP.NET Membership API的一部分。你的意思是Active Directory成員提供者與SQL認證? http://msdn.microsoft.com/en-us/library/ms998347.aspx#paght000022_usingtheactivedirectorymembershipprovider – 2010-04-27 19:53:21

+0

'extranet'是什麼意思?和互聯網一樣嗎? – 2010-04-27 19:55:08

+0

我想我是認爲通過SQL身份驗證,我的意思是我會設置SQL Server登錄,並在來回數據庫時使用連接字符串中的UID/PWD。這是我的第一個MVC應用程序,所以我仍然在搞清楚。 – GernBlandston 2010-04-27 20:01:12

回答

1

Gern,您正在描述相同框架的各個方面。

asp.net提供程序堆棧是一個抽象服務層,它爲應用程序「提供」公共服務。

內置的Sql提供程序只是使用Sql服務器作爲後備存儲的實現。 MVC框架和腳手架爲使用默認的Sql提供程序提供了所有必要的適配器。

如果內置的asp.net sql提供程序提供您需要的功能,那麼親是所有的工作都完成了。

不知道什麼是騙子。

在要使用SQL商比較VS AD供應商方面的可能性:

進行身份驗證和訪問控制和蘊涵的AD /基於令牌提供商Active Directory是用戶必須有一個有效的帳戶在AD中設置以訪問受保護的資源。

Sql提供程序允許您定義不需要AD帳戶的任意用戶。

當您必須支持大型AD用戶羣時,纔會出現臭名昭着的灰色區域,但還必須允許建立非AD帳戶。此時,您將開始探索建築複合材料供應商堆疊帶給您生活的精妙快樂,同時它會搶走您的睡眠。但這是另一本書的主題。

HTH

+0

謝謝。我想我混淆了SQL Server中的登錄存儲(作爲實際的SQL Server登錄)和SQL Server成員資格數據庫中的登錄存儲。 – GernBlandston 2010-04-27 20:11:12

+0

@Gern - 您將關注的唯一SQL登錄名是連接字符串中的唯一一個(如果有的話)。對於沙盒/ dmz類型的服務器,你可能有一個靜態uid/pwd對,但在很多情況下,網絡管理員可以在dmz和interal sql server之間建立有限的信任關係,以實現集成安全性。 – 2010-04-27 20:14:18