繁体   English   中英

使用 c# 和 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.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM