【问题标题】:Windows Authentication for Single Page in CMS siteCMS 站点中单页的 Windows 身份验证
【发布时间】:2014-09-18 12:46:33
【问题描述】:

我遇到了一种情况,需要一些帮助。 我有一个 CMS 站点,其中单独文件夹中的 2 个页面是用于管理目的的管理页面。他们需要启用 Windows 身份验证。这就是我所做的。 在 IIS 中,我为整个站点启用了匿名身份验证并禁用了 Windows 身份验证。 我仅为特定文件夹启用了 Windows 身份验证,并为用户授予了对该文件夹的读取权限。 一切正常。当弹出窗口打开并且我提供我的 Windows 凭据并对其进行身份验证时,当我尝试查看 System.Web.HttpContext.Current.User.Identity.Name 时使用我的 .net 应用程序,我得到“sitecore\Admin”而不是获取我当前的 Windows 用户 ID。对此的任何帮助将不胜感激!!!

【问题讨论】:

    标签: c# asp.net authentication iis sitecore


    【解决方案1】:

    单独通过 IIS 对文件夹启用 Windows 身份验证只会保护文件夹,并且不会绑定到 Sitecore 成员资格提供程序,因此不会设置当前用户的身份。当页面加载时,您必须自己在自定义管理页面上完成该部分。

    您可以通过从LOGON_USER 服务器变量中获取用户名来做到这一点,如下所示:

    var username = Context.Request.ServerVariables["LOGON_USER"]; 
    

    然后您可以通过调用Sitecore.Security.Authentication.AuthenticationManager.Login 方法来更改当前用户的身份,如下所示:

    var success = Sitecore.Security.Authentication.AuthenticationManager.Login(userName, false);
    if (!success)
    {
        // Handle login failure.
    }
    

    【讨论】:

      猜你喜欢
      • 2012-03-03
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2013-10-30
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多