获取 asp.net c# 代码以 Windows Authenticated 用户身份运行

Posted

技术标签:

【中文标题】获取 asp.net c# 代码以 Windows Authenticated 用户身份运行【英文标题】:Getting asp.net c# code to run as Windows Authenticated user 【发布时间】:2017-09-05 10:24:17 【问题描述】:

是否可以让我的asp网站的c#代码以通过windows身份验证的用户身份运行?

在花了一些时间研究之后,我知道我需要模拟,但是当我配置模拟时,例如:<identity impersonate="true" /> 我从 IIS 收到一个错误,关于如何为集成管道设置错误的 Web 配置。绕过错误:确实有效,但代码不是作为经过身份验证的用户执行,而是作为 defaultAppPool 和 IIS 用户执行。

我知道这可能不是最好的问题,我只是无法解决使用 Windows 身份验证的模拟问题。

【问题讨论】:

【参考方案1】:

您可以使用 LDAP/AD 组合验证用户。这意味着用户从他自己的 Windows 帐户输入用户名和密码,并将此数据发送到服务器,该服务器可以检查此数据是否正确。当然,这适用于具有单个 LDAP 服务器的本地网络。 尝试以下链接获取信息:https://www.codeproject.com/Articles/18742/Simple-Active-Directory-Authentication-Using-LDAP https://msdn.microsoft.com/en-us/library/ff649227.aspx

【讨论】:

感谢您提供的链接,我正在考虑这个问题,但犹豫不决,因为我的网络应用程序很小。但是,我确实认为这可能是长期的最佳解决方案。【参考方案2】:

我不希望在 IIS 中提升权限。我会将完成这项工作所需的所有数据交给另一个真正完成这项工作的服务(作为正确的用户)。

【讨论】:

我拥有的 Intranet 网站正在运行一些基本的 PowerShell 脚本,用于我们的第一线服务台支持。我想让它像他们一样运行代码,所以 powershell 只能访问他们可以访问的内容。如果这是有道理的,我就是无法模拟工作,我不明白为什么。

以上是关于获取 asp.net c# 代码以 Windows Authenticated 用户身份运行的主要内容,如果未能解决你的问题,请参考以下文章

C# asp.net获取客户端的Ipv4 ip地址[重复]

C# ASP.NET;获取登录用户的 NetworkCredential 对象?

从 Twitter API 获取用户的电子邮件以进行外部登录身份验证 ASP.NET MVC C#

如何在 asp.net c# 中将 JQuery DataTables 应用于 Gridview 以获取大数据(> 1000)?

ASP.NET Web 应用程序——如何获取 Windows 用户?

用asp.net c# HttpWebRequest获取网页源代码