Asp.net mvc 使用ASP.Net标识时如何获取广告用户

Asp.net mvc 使用ASP.Net标识时如何获取广告用户,asp.net-mvc,authentication,iis,asp.net-identity,windows-authentication,Asp.net Mvc,Authentication,Iis,Asp.net Identity,Windows Authentication,我试图在我的mvc5asp.netvb.net内部网站中获取当前windows(AD)用户的详细信息 当我开始这个项目时,我将身份验证设置为个人帐户,假设我仍然可以获得windows用户信息。但是我没有运气。在调试中使用VisualStudio时,我可以获得此信息。但是此信息在IIS中被apppool的标识名替换 我的intranet站点当前设置为使用以下配置 <authentication mode="Windows" /> <authorization>

我试图在我的
mvc5asp.net
vb.net内部网站中获取当前windows(AD)用户的详细信息

当我开始这个项目时,我将身份验证设置为个人帐户,假设我仍然可以获得windows用户信息。但是我没有运气。在调试中使用VisualStudio时,我可以获得此信息。但是此信息在
IIS
中被apppool的标识名替换

我的intranet站点当前设置为使用以下配置

<authentication mode="Windows" />
    <authorization>
        <allow users="*"/>      
        <!--<deny users="?"/>-->
</authorization>

我的应用程序设置为使用匿名和windows身份验证。如果禁用“匿名”,我会发现
查询字符串太长
。当尝试创建返回url时,它开始无限循环。这真让人讨厌

无论如何。对我来说,这个概念是:如果用户是windows AD用户,他们可以进入我的登录页面,如果凭据正确,他们可以使用该站点,否则将被踢出。所以有点像双重认证

我已经同意允许匿名者获取广告信息,然后基于此,我可以拒绝或允许访问。我打算将此信息放在我的登录控制器中,其中
signinstatus.success=true


我在互联网上搜寻,试图找到一个足够体面的解决方案,试图让这种混合动力车发挥作用,但我正在努力澄清。在某些情况下,人们只想插入他们自己的工具。

当您有授权的前兆,即用户必须提交的登录页面时,AllowAnonymous是必要的。如果您不允许匿名用户访问此页面,那么他们就无法真正登录以获得查看该页面的授权(因此您的无限重定向)


ASP.NET标识和Windows身份验证是不同且不兼容的授权方案。不能在同一应用程序中同时使用两者。但是,您可以使用ASP.NET标识并添加一个自定义身份验证/授权层,该层利用LDAP连接根据AD检查凭据。换句话说,如果您想使用AD,则必须添加手动集成。

确定。这是非常确定的,我同意你的看法,非常感谢你。但我的问题是,在调试过程中,我看到我的名字是Windows登录用户,但当我将网站发布到iis时,它会将应用程序池标识显示为用户名。我想知道我怎样才能找到谁是广告用户。非常感谢您的帮助如果我只允许anonymous登录页面并对所有其他人进行windows身份验证,它会起作用吗?它会允许我看到正确的windows用户,还是仍然显示应用程序池标识?你好,瓦卡诺。如果使用Windows auth,则不能单独登录。如果你想这样做,你必须直接去识别和添加一个层来手动通信回广告。再次确定。谢谢。如果看不到当前的广告用户该怎么办?@waqar_Lionhart当前的广告用户如果没有使用广告登录是不可能的。如果您使用匿名方案,您将看到一个用户正在IIS上运行您的网站。这就是为什么在本地运行时会看到您的名字-您的IIS(Express)正在您的帐户下运行。当您发布它时,这不起作用。这可能会有所帮助: