使用IIS Express但不是Visual Studio Development Server,HttpContext.Current.User.Identity.Name为空

 迷人的小刀 发布于 2023-02-13 09:02

HttpContext.Current.User.Identity.Name 当Visual Studio设置为"使用本地IIS Web服务器"时为空/空白,但在Visual Studio设置为"使用Visual Studio开发服务器"时正常工作.

希望您可以通过执行以下操作在Visual Studio 2010或2012中复制此问题(我已尝试过两者):

创建一个选中".NET Framework 4"的新"ASP.NET空Web应用程序",并将其命名为"WindowsAuthTest2".用.替换Web.config的内容



  
    
    
    
  

接下来,在名为"Default.aspx"的项目中添加一个新的"Web窗体".用Default替换Default.aspx中的代码

<%@ Page Language="C#" AutoEventWireup="true" CodeBehind="Default.aspx.cs" Inherits="WindowsAuthTest2.Default" %>


    
        
    
    
        
    

并用Default替换Default.aspx.cs中的代码

using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Web.UI;
using System.Web.UI.WebControls;

namespace WindowsAuthTest2
{
    public partial class Default : System.Web.UI.Page
    {
        protected void Page_Load(object sender, EventArgs e)
        {
            Label1.Text = "[" + HttpContext.Current.User.Identity.Name + "]";
        }
    }
}

我没有ReSharper告诉我哪些使用语句是不必要的.

然后,您可以通过右键单击项目,选择"属性"(或双击项目下的"属性"),选择"Web",然后导航到"服务器"部分,选择Visual Studio将使用的Web服务器.

尝试使用"使用Visual Studio开发服务器"和"使用本地IIS Web服务器".

希望您可以HttpContext.Current.User.Identity.Name在选择"使用本地IIS Web服务器"时帮助我找出原因为空.

1 个回答
  • 我通过更改身份验证中的IIS解决了此问题

    Windows Authenticaon = Enabled
    Anonymous Authentication = DISABLED <=== Important
    ASP.NET Impersonation Enabled
    

    我的IIS

    2023-02-13 09:04 回答
撰写答案
今天,你开发时遇到什么问题呢?
立即提问
热门标签
PHP1.CN | 中国最专业的PHP中文社区 | PNG素材下载 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有