主公再打我一次
31.29M · 2026-03-23
我在IIS Express(开发服务器)设置的项目属性中将匿名身份验证更改为已禁用,并将Windows身份验证更改为已启用.
我在公共IQuerybal< Model1>中设置了一个断点. GetModel1()并检查User.Identity.Name的值,它返回null?
更新:奇怪的是我在另一台PC上创建了一个新项目(仍在Visual Studio 2015中),我可以从属性User.Identity.Name获取我的Windows登录信息.
更新2:我试图将项目文件复制到新PC,它仍然有同样的问题.所以它应该是项目中的一些设置.很奇怪.
在您的问题中没有太多可以处理的问题,但我最好的猜测是您忽略了授权控制器操作.您需要将[Authorize]属性添加到实际的控制器类(以保护其中的所有操作)或您在此处使用的单个操作.如果您需要允许匿名访问相同的操作,您还可以添加[AllowAnonymous]属性,但如果您至少没有[授权],则不会填充任何用户信息.