![](/img/trans.png)
[英]How do you get Windows user domain/username with C# Razor on IIS 10?
[英]Domain authentication with c# and IIS 10
提前感谢您提供的任何建议。 我的任务是为我们的人力资源部门创建一个 web 应用程序,我还有最后一个问题要解决,身份验证。 我们在 Windows Server 2019 数据中心服务器上运行 IIS 10。 我们的网站设置为 DefaultWebSite 下的虚拟服务器。 IIS下| 身份验证我启用了 windows 和匿名。 这个 web 站点只能在内部访问。
web 站点是使用 Visual Studio 2019 创建的,后端为 c#。 我尝试使用以下方法获取用户 ID
userName = System.Environment.UserName.ToString();
userName = HttpContext.Current.User.Identity.GetUserId();
userName = User.Identity.GetUserId();
userName = System.Security.Principal.WindowsIdentity.GetCurrent().ToString();
它们各自返回 null 或空字符串。 这是来自 web.config 文件
<system.web>
<authentication mode="Windows" />
我习惯于通过经典 ASP 执行此操作,您可以在其中读取环境变量并获取登录用户、查询 AD 并提供或拒绝访问。
所以问题是 1) 使用当前用户上下文并确定对 web 页面的访问权限 2) 让用户登录该站点并将登录信息存储在 SQL 中。
感谢您的时间
大卫
您应该打开模拟,以便获得用户信息:
<configuration>
<system.web>
<identity impersonate="true" />
</system.web>
</configuration>
您还应该关闭匿名身份验证。
有关详细信息: 使用 IIS 身份验证和 ASP.NET 模拟
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.