IIS MVC身份验证-受信任的域

时间:2018-12-14 08:27:18

标签: asp.net-mvc authentication iis trusted

有两个域(A和B)。这两个域处于信任关系。 A域中有一个IIS Web服务器。

在Visual Studio中,我创建了一个MVC项目,并在Controller中对其进行了配置以用于Windows身份验证。 我这样读取数据:

  • u = System.Web.HttpContext.Current.User.Identity.Name.ToLower();

A域中的用户称为Alex。 B中的用户是Ben。

如果Alex从他的机器上打开页面(计算机在A域中),则一切正常。

  • 自动出现A \ Alex

如果Ben从他的计算机打开页面(计算机在B域中),则:

  • 默认情况下,它带有身份验证窗口!但是,如果我提供这些数据,一切都会很好。

    • A \ Alex +密码:确定
    • B \ Ben +密码:确定
  • 我什至尝试过

    • Alex +密码:确定
    • Ben +密码:不好(但是Web服务器在A域中,所以没问题)
  • 如果我将IE / Security中的页面添加到“本地Intranet”,则:

    • 自动进入B \ Ben

到目前为止,一切都很好,并且可以正常工作。我找不到下一个解决方案(并且尝试了很多事情...)

如果我们使用来自第三域的独立计算机,甚至使用手机,那么:

  • 请求身份验证:

    • A \ Alex +密码:确定
    • 亚历克斯+密码:确定(到目前为止,一切都如我所愿!)
    • B \ Ben +密码:不好(为什么?!?!?)

任何想法可能是什么问题? 预先感谢您的帮助!

编辑: 在控制器中:

[Authorize]
public class HomeController : Controller
 {

web.config:

<system.web>
<compilation debug="true" targetFramework="4.5.2" />
<httpRuntime targetFramework="4.5.2" />
<authentication mode="Windows" />
<authorization>
<allow users="*" />
<deny users="?" />
</authorization>
<identity impersonate="true" />
<roleManager enabled="true" defaultProvider="AspNetWindowsTokenRoleProvider" />
<customErrors mode="Off" />
</system.web>

0 个答案:

没有答案