1

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

我目前有一个需要存储用户配置文件信息的场景,我想使用 ASP.Net 中标准的内置配置文件提供程序。我以前很高兴地将它与表单身份验证一起使用,但是我找不到任何有用的信息来说明如何在使用 Windows 身份验证时实现它。

  • 有什么方法可以让配置文件提供程序开箱即用地使用 Windows 身份验证?
  • 我会被迫创建自定义配置文件提供程序吗?

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

笔记

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

1 回答 1

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();

祝你好运!

于 2009-09-18T09:19:07.350 回答