Asp.net mvc 问题:在Visual Studio 2013中创建AD FS声明感知应用程序

Asp.net mvc 问题:在Visual Studio 2013中创建AD FS声明感知应用程序,asp.net-mvc,visual-studio-2013,web-config,adfs,Asp.net Mvc,Visual Studio 2013,Web Config,Adfs,我对尝试使用AD FS还不熟悉,我一直在兜圈子 尝试创建声明感知应用程序 组织处理自己的身份验证 尝试使用VS 2013 好的,下面是我让我的测试应用程序验证身份验证的唯一方法,但它“似乎”错了-它可以工作,但却以错误的方式摩擦我。。。像一件羊毛T恤 在vs 2013中创建新应用程序 选择Web->Visual Studio 2012**** 选择.NETFramework 4.5 选择ASP.NETMVC4Web应用程序 添加对System.Identity的引用 添加对System.Iden

我对尝试使用AD FS还不熟悉,我一直在兜圈子

尝试创建声明感知应用程序 组织处理自己的身份验证 尝试使用VS 2013 好的,下面是我让我的测试应用程序验证身份验证的唯一方法,但它“似乎”错了-它可以工作,但却以错误的方式摩擦我。。。像一件羊毛T恤

在vs 2013中创建新应用程序 选择Web->Visual Studio 2012**** 选择.NETFramework 4.5 选择ASP.NETMVC4Web应用程序 添加对System.Identity的引用 添加对System.Identity.Services的引用 编辑我的web.Config文件 在configsection中-添加以下内容 然后加上

然后加上

然后加上

然后加上

`

为什么我认为这一切都是错的??我从下面的步骤中得到了所有这些web.config行

返回步骤5并执行以下操作 在Tempalte下单击web 选择唯一选项—ASP.NET Web应用程序 向导出现并单击“更改身份验证” 选择组织帐户 将下拉列表更改为“内部部署” 填写“现场管理局” 填写“应用程序ID URI” 看看web.config 但是,使用这些步骤产生的应用程序将创建一个重定向循环,这是我一直无法解决的问题

关于我做错了什么的建议。不能认为以标准方式生成web.config并将其粘贴到以前的版本以使其正常工作是正确的。

请参阅:

在重定向循环方面。通常的原因是,对于ADFS RP,您配置的端点没有尾随斜杠


添加缺少的/并确保它与web.config中的字符串匹配。

在应用程序中启用SSL,并在web属性中将SSL URL设置为默认值。

好的-答案是

1我开始沿着这条路线走,因为我一直得到一个重定向循环,我认为这是由web.config引起的

不是web.config

2因此,按照VS13中的说明创建应用程序-即转到c->web->,然后单击ASP.NET web应用程序并设置内部身份验证

3我的重定向循环是由来自AD FS的多个捆绑在一起的LDAP声明引起的

4将我的索赔单一次发送一条规则,并发挥了神奇的作用

如果有人能解释为什么这是真的,我很好奇

  `<issuerNameRegistry type="System.IdentityModel.Tokens.ValidatingIssuerNameRegistry, System.IdentityModel.Tokens.ValidatingIssuerNameRegistry">
    <authority name="http://fedtest.xxxxxxx.com/adfs/services/trust">
      <keys>
        <add thumbprint="12345567890asdasfsdgdfhdfgjdf123124" />
      </keys>
      <validIssuers>
        <add name="http://fedtest.xxxxxxxx.com/adfs/services/trust" />
      </validIssuers>
    </authority>
  </issuerNameRegistry>
  <securityTokenHandlers>
    <add type="System.IdentityModel.Services.Tokens.MachineKeySessionSecurityTokenHandler, System.IdentityModel.Services, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" />
    <remove type="System.IdentityModel.Tokens.SessionSecurityTokenHandler, System.IdentityModel, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" />
  </securityTokenHandlers>

    <certificateValidation certificateValidationMode="None" />
</identityConfiguration>