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

时间:2009-09-18 08:59:55

标签: asp.net windows-authentication profile-provider

我们所有的内部项目都使用Active Directory身份验证和模拟,因为这是公司可接受的安全策略。

我目前有一个需要存储用户个人资料信息的场景,我想使用ASP.Net中标准的内置Profile Provider。我之前使用过表单身份验证很愉快,但在使用Windows身份验证时,我找不到有关如何实现此功能的任何有用信息。

  • 有什么方法可以让配置文件提供商开箱即用吗?
  • 我是否会被迫创建自定义配置文件提供程序?

数据将存储在数据库中,而不是存储在Active Directory中。但是,如果可能的话,我们将不胜感激。

备注

  • 我不需要使用角色提供程序,这由AD处理。
  • 我不确定是否需要实施AD成员资格提供程序才能让Profile Provider工作。

1 个答案:

答案 0 :(得分: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();
祝你好运!