2010-04-21 36 views
1

我能想到的辦法是:最簡單的方法來驗證跨多個網站/應用程序的用戶在.NET

  • 使用Windows身份驗證基礎(WIF)。我從來沒有這樣做過,因此是一個黑匣子和風險。
  • 使用Forms Authentication或類似的方法,然後使用數據庫複製來確保每個應用程序都有權訪問數據存儲。

毫無疑問,還有其他的選擇。

更多信息:這是一個互聯網的解決方案,而不是企業內部網/ LAN

+2

的Active Directory/LDAP – 2010-04-21 01:50:33

+1

所有站點中是否存在公用域名或者是否存在多個域? – 2010-04-21 01:55:56

+1

沒有常用的域名。否則可能會做一個餅乾破解:) – Schneider 2010-04-21 02:26:27

回答

1

我不得不使用DotNetOpenAuth很好的成功。 StackOverflow使用它。 http://dotnetopenauth.net

+0

這是否適用於Web服務?我忘了提及我需要能夠對WCF Web服務進行身份驗證 – Schneider 2010-04-21 02:26:07

0

這個HowTo應該給你一個關於如何對AD實例進行用戶認證的想法,以防你的身份驗證後面有一個域。

WCF只是通過通信網絡進行通信的一種方式,因此您不妨通過WCF對AD進行身份驗證。

我希望這有助於!

0

ASP.NET會員服務是一個不錯的選擇。它允許您使用數據庫,Active Directory或您自己的自定義身份驗證來備份它。

http://msdn.microsoft.com/en-us/library/yh26yfzy(VS.85).aspx

它不僅限於網站,但是當通過Web服務暴露可以從Silverlight和WPF中。

另外看OpenID/OpenAuth,甚至Facebook Connect使用單一登錄驗證多個網站/應用程序。

+0

但是後臺存儲必須共享? – Schneider 2010-04-21 03:23:44

+0

我不明白你的問題。哪個後臺商店? – GiddyUpHorsey 2010-04-21 04:19:25

1

我一直在使用Windows Identity Foundation。當然,文件很差。

雖然看起來真的很棒,但它是「基於聲明的認證」。它基本上允許登錄系統授予「聲明」,這些聲明基本上是描述用戶的信息串。索賠用私鑰簽名,因此依賴.net應用程序可以識別索賠是真實的。此外,您可以使用有關您的用戶(SQL,AD)的任何底層存儲信息,並且存儲有關授權用戶的信息的方法完全從您的應用程序中抽象出來。你可以在一天之內從SQL切換到AD,如果設置正確,那麼依賴.net應用程序將會收到完全相同的聲明並永遠不會知道其中的差別。

+0

有關WIF的更多信息,我添加了許多問題和答案StackOverflow。 – 2010-05-24 19:32:05

相關問題