【问题标题】:Profile Providers and Windows Authentication配置文件提供程序和 Windows 身份验证
【发布时间】:2009-09-18 08:59:54
【问题描述】:

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

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

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

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

注意事项

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

【问题讨论】:

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


    【解决方案1】:

    您可以只使用标准的 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();
    

    祝你好运!

    【讨论】:

    • 我认为你没有抓住重点。我不需要角色提供者,我需要个人资料提供者。
    • 抱歉,打错字了。角色和配置文件提供程序都适用于 Windows 身份验证。你有什么具体问题吗?
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2017-12-25
    • 2016-05-23
    • 2015-08-24
    • 2020-09-28
    • 2011-02-25
    • 2014-09-16
    • 1970-01-01
    相关资源
    最近更新 更多