我们正在使用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
获取此信息,我会收到相同的错误。
有人可以帮我指点正确的方向吗?感谢。
答案 0 :(得分:0)
有人可以帮我指点正确的方向吗?
您似乎使用Azure WebApp服务,如果是这种情况,不幸的是,我们无法在azure WebApp服务中使用Windows身份验证。
也许Azure网站Azure Actice Directy是最佳选择。 Sync from AD to Azure Actice Directy也很容易设置。然后使用Azure Easy Authentication来执行此操作。
如果您仍想使用Windows身份验证,我建议您使用Azure VM。您需要将VM加入AD。