2009-09-18 86 views
1

我們所有的內部項目都使用Active Directory身份驗證和模擬,因爲這是公司接受的安全策略。配置文件提供程序和Windows身份驗證

我目前有一個場景,我需要存儲用戶配置文件信息,我想使用ASP.Net中標準的內置配置文件提供程序。我以前曾經很高興地使用過Forms Authentication,但是在使用Windows身份驗證時,我找不到有關如何實現這一點的有用信息。

  • 有沒有什麼辦法可以讓配置文件提供程序使用Windows身份驗證開箱即用?
  • 我會被迫創建一個自定義配置文件提供程序嗎?

數據將存儲在數據庫中,而不是Active Directory中。但是,如果後者是可能的,一些指導將不勝感激。

  • 我並不需要使用角色提供程序,這是由AD處理。
  • 我不確定是否需要實施AD成員資格提供程序才能使配置文件提供程序正常工作。

回答

3

你可以使用標準的SqlProfileProvider。作爲用戶名,請使用Context.User.Identity.Name屬性。 ASP.NET會自己在標準表中創建一個用戶條目來跟蹤它。角色提供者也可以與Windows身份驗證結合使用。請參閱此鏈接瞭解更多信息:http://weblogs.asp.net/scottgu/pages/Recipe_3A00_-Implementing-Role_2D00_Based-Security-with-ASP.NET-2.0-using-Windows-Authentication-and-SQL-Server.aspx

如果您啓用並在web.config配置配置文件提供者,你可以使用它像這樣:

ProfileBase profile = ProfileBase.Create(Context.User.Identity.Name, true); 
profile.SetPropertyValue("MyProfileProperty", propertyValue); 
profile.Save(); 

祝你好運!

+0

我想你錯過了這一點。我不需要角色提供者,我需要一個配置文件提供者。 – BinaryMisfit 2009-09-18 09:20:33

+0

對不起,發了一個錯字。角色和配置文件提供者都可以在Windows身份驗證中正常工作你有什麼具體問題嗎? – 2009-09-18 09:30:39

相關問題