配置文件提供程序和Windows身份验证

问题描述:

我们所有的内部项目都使用Active Directory身份验证和模拟,因为这是公司接受的安全策略。配置文件提供程序和Windows身份验证

我目前有一个场景,我需要存储用户配置文件信息,我想使用ASP.Net中标准的内置配置文件提供程序。我以前曾经很高兴地使用过Forms Authentication,但是在使用Windows身份验证时,我找不到有关如何实现这一点的有用信息。

  • 有没有什么办法可以让配置文件提供程序使用Windows身份验证开箱即用?
  • 我会*创建一个自定义配置文件提供程序吗?

数据将存储在数据库中,而不是Active Directory中。但是,如果后者是可能的,一些指导将不胜感激。

  • 我并不需要使用角色提供程序,这是由AD处理。
  • 我不确定是否需要实施AD成员资格提供程序才能使配置文件提供程序正常工作。

你可以使用标准的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