gpt4 book ai didi

asp.net - 使用 Window 身份验证时 User.Identity.Name 为空

转载 作者:行者123 更新时间:2023-12-02 14:33:09 24 4
gpt4 key购买 nike

我有一个 MVC 4 网站,其中 .net 4.5 在 IIS7 上运行例如:www.mysite.com 和文件夹 www.mysite.com/admin

www.mysite.com 正在使用表单例份验证并允许某些页面匿名,我希望 www.mysite.com/admin 使用窗口身份验证。

我在 IIS 安全性中设置了该文件夹以使用 Window 身份验证(它不是 IIS 中的应用程序)

在我的管理 Controller 中,我需要从域中捕获用户名,它始终为空,代码如下:

   WindowsIdentity winId = WindowsIdentity.GetCurrent();         
if (winId != null)
{
string name = winId.Name;
}

User.Identity.Name 也是空的请让我知道我缺少什么。

我确信这是非常常见的事情,并且无法弄清楚为什么它不能与 MVC 一起使用,我有使用 Web 表单的旧网站并且具有相同的设置并且它正在工作。

提前致谢

最佳答案

如果您对该页面使用 Windows 身份验证,请尝试以下操作并查看它是否有任何数据。听起来您可能已经尝试过此操作,但我没有看到包含 Page 对象。

确保您的 web.config 已启用 Windows 身份验证。

<authentication mode="Windows">
</authentication>

字符串用户 = Page.User.Identity.Name;

希望这对您有所帮助,我可能会研究内置的角色和成员(member)功能,我不熟悉您所采取的路线,我很抱歉。

http://www.codeproject.com/Articles/342061/Understanding-ASP-NET-Roles-and-Membership-A-Begin

关于asp.net - 使用 Window 身份验证时 User.Identity.Name 为空,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15621991/

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