gpt4 book ai didi

asp.net - User.Identity.Name 为空?

转载 作者:行者123 更新时间:2023-12-02 13:53:13 26 4
gpt4 key购买 nike

我使用 Visual Studio 2015 在我的办公室 PC 上创建了一个简单的 Web api 项目,Windows 登录了公司域(AD)。我更改了 web.config 文件以进行集成身份验证 - <system.web><authentication mode="Windows" /> 。网址http://localhost:23151/api/Model1从数据库返回有效的 xml 数据。

我在 IIS Express(开发服务器)设置的项目属性中将匿名身份验证更改为禁用,将 Windows 身份验证更改为启用。

我在 public IQuerybal<Model1> GetModel1() 设置了断点并检查 User.Identity.Name 的值它返回 null

更新:奇怪的是,我在另一台 PC 上创建了一个新项目(仍在 Visual studio 2015 中),并且我可以从属性 User.Identity.Name 获取 Windows 登录信息。 .

更新 2:我尝试将项目文件复制到新电脑上,但仍然遇到同样的问题。所以应该是项目中的一些设置。很奇怪。

最佳答案

您的问题没有太多可解决的问题,但我最好的猜测是您忽略了授权 Controller 操作。您需要将 [Authorize] 属性添加到实际 Controller 类(以保护其中的所有操作)或您正在使用的单个操作。

如果您需要允许匿名访问相同的操作,您还可以添加 [AllowAnonymous] 属性,但如果您至少没有 [Authorize] ,则不会填充任何用户信息。

关于asp.net - User.Identity.Name 为空?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32362166/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com