-1

我正在处理基于 Windows 的身份验证我的配置看起来像这样

网络配置

授权

允许角色="管理员"

允许角色="超级用户" />

拒绝用户="*"

授权


在 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 中设置。

请帮我解决这个问题

提前致谢。

4

1 回答 1

0

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

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

谢谢。

于 2013-06-17T22:15:01.107 回答