【发布时间】:2017-09-28 16:49:50
【问题描述】:
我在这里问这个问题是因为它可能可以通过编程方式完成。所以在我的工作中,我只是为我们的员工建立了一个门户网站,这样他们就可以找到其他同事的电话号码和诸如此类的东西,以及向 HR 发送查询以更改他们的私人信息。这是一个 ASP.NET MVC 项目,托管在我们的内部 IIS 服务器上。该门户可从我们公司外部访问,因此启用了基本身份验证和 Windows 身份验证。
作为开发人员和管理员,我们有时需要能够模拟 Active Directory 中的现有用户。我知道您可以冒充现有用户,但是,我想知道我是否可以使用某种方法或编程魔法,只传递诸如首字母之类的东西(就像我们用作用户名一样)和那么当我打开站点时,门户将接受我作为该用户。
如果我可以在我的本地主机上这样做会很好,而不是为了测试目的而将其推送到生活中。
这是我能做的吗?如果是这样,我会怎么做?我不确定如何在 C# 中做到这一点。
【问题讨论】:
-
为什么不改用VPN?
-
@Transcendent 你能详细说明一下吗?
-
通过使用 VPN,您将使用 Windows 身份验证进行身份验证。具体来说,您将通过内部网络建立隧道,而这是大多数人/公司为了访问可能无法从网络外部访问的东西而做的事情。
-
@Transcendent 但这并不是我想要访问无法访问的东西。我想要做的是简单地从我们的 Active Directory 中模拟一个用户来检查门户中的用户特定问题。如果他们可以简单地描述问题并且我可以轻松地在我们的门户网站上模仿他们,而不是让他们登录并向我们发送屏幕截图,那么我可以更轻松地进行调试。
-
请记住,如果您设计任何东西以允许在没有安全凭据的情况下以特定用户身份登录(模拟他们),您将故意使系统易受攻击。
标签: c# asp.net-mvc active-directory impersonation