如何从Azure获取当前的WindowsIdentity

问题描述 投票:0回答:1

我们正在使用MVC,Entity Framework和Azure开发内部站点。员工将来执行不同的工作相关操作,但我们希望通过我们的内部部署AD进行身份验证。我们有一个应用服务,其VNet配置为我们的内部部署AD。我可以获取用户的用户名和密码,然后拨打电话就可以对AD进行验证。我正在尝试做的是自动获取他们的WindowsIdentity并自动查找它们以减少用户必须做的一些步骤并在可能的情况下自动签名。否则我会将它们重定向到登录屏幕。

当我调用代码时

System.Security.Principal.WindowsIdentity.GetCurrent().Name;

它返回“IIS APPPOOL \ Test-WebApp”而不是我正在寻找的“DOMAIN \ UserName”。

我已经尝试将以下内容添加到web.config中。

<authorization>
   <deny users="?"/>
   <allow users="*"/>
 </authorization>

但这给了我一个“你没有权限查看这个目录或页面。”错误。如果我试图从UserPrincipal.Current获取此信息,我会得到同样的错误。

有人可以请帮助我指出正确的方向吗?谢谢。

azure model-view-controller active-directory
1个回答
0
投票

有人可以请帮助我指出正确的方向吗?

您似乎使用Azure Web App服务,如果是这种情况,遗憾的是,我们无法在azure WebApp服务中使用Windows身份验证。

也许Azure网站Azure Actice Directy是最好的选择。 Sync from AD to Azure Actice Directy也很容易设置。然后使用Azure Easy Authentication来做到这一点。

如果您仍想使用Windows身份验证,我建议您使用Azure VM。您需要将VM加入AD。

© www.soinside.com 2019 - 2024. All rights reserved.