【问题标题】:ASP.net Forms authentication not working on iisASP.net Forms 身份验证在 iis 上不起作用
【发布时间】:2013-06-14 23:36:01
【问题描述】:

我正在使用基于 Windows 的身份验证,我的配置如下所示

web.config

授权

允许角色="管理员"

允许角色="SuperUser" />

拒绝用户="*"

授权


在 global.asax.cs 中

    void Application_AuthenticateRequest(object sender, EventArgs e)
    {
        string message = string.Empty;
        if (HttpContext.Current.User.Identity.IsAuthenticated)
            message = HttpContext.Current.User.Identity.Name + " login successfully !";
        else
            message = HttpContext.Current.Request.UserHostAddress + " login failure !";             
    }

这在卡西尼中完美运行。我可以登录到应用程序。

当我在启用 Windows 身份验证的 IIS 7 中托管它时。

我得到的对象引用未设置为对象的实例。

这是因为出于某种原因 HttpContext.Current.User 为空

由于某种原因,用户未在 httpcontext 中设置。

请帮我解决这个问题

提前致谢。

【问题讨论】:

    标签: asp.net-mvc windows-authentication


    【解决方案1】:

    iis apppool 中的托管管道设置为集成。 打开此选项后,未在 Application_AuthenticateRequest 事件上设置 httpcontext。 现在访问 httpcontext 还为时过早。

    所以我将逻辑移动到我的着陆控制器方法中的适当位置并且它起作用了。

    谢谢。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2017-02-01
      • 2023-04-11
      • 2019-01-20
      • 1970-01-01
      • 1970-01-01
      • 2013-10-09
      • 2022-01-25
      • 2020-12-26
      相关资源
      最近更新 更多