ACS在子应用程序中不处理SAML响应

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

我正在努力寻找导致这种现象的原因。我有一个配置了SustainSys软件包的简单MVC应用程序。我已经尝试为我们的内部SecureAuth服务器和https://stubidp.sustainsys.com测试服务器配置它。

它们都可以在localhost上运行,并且当它是我们内部IIS服务器的根应用程序时。

当我将其放置在IIS子应用程序文件夹中时,它将重定向到sso服务器登录名,并通过身份验证信息返回到〜/ Saml2 / Acs路由(我在fiddler2中看到了它),但是Acs却没有似乎在那时进行了处理,并且我仍然未经身份验证,因此它返回登录页面,然后开始循环。

我知道子应用程序web.config的继承,所以我什至从根目录中删除了web.config,因此没有任何东西与子应用程序中的冲突。我玩过returnURL参数无效(包括或不包括sudirectory)。

IIS中的应用程序(根应用程序和子应用程序)的身份验证配置相同。

我没什么要测试的想法。有人有什么想法吗?

<sustainsys.saml2 entityId="https://apps.xxxxx.com" returnUrl="https://apps.xxxxx.com/yyyyy">
    <identityProviders>
        <add entityId="https://sso.xxxxx.com/SecureAuthXX" signOnUrl="https://sso.xxxxx.com/SecureAuthXX" allowUnsolicitedAuthnResponse="true" binding="HttpRedirect">
            <signingCertificate fileName="~/App_Data/SecureAuth03VM.xxxxx.com.cer" />
        </add>
    </identityProviders>
    <federations>
        <add metadataLocation="https://apps.xxxxx.com/Federation" allowUnsolicitedAuthnResponse="true" />
    </federations>
</sustainsys.saml2>
<system.identityModel.services>
    <federationConfiguration>
        <cookieHandler requireSsl="true" name="CookieAuth" />
    </federationConfiguration>
</system.identityModel.services>
.net forms-authentication saml-2.0 sustainsys-saml2
1个回答
0
投票

有两个步骤,我认为 edit>这可能会出错:

  1. 生成的AuthnRequest中的Acs网址不正确。请检查StubIdp上显示的XML内容,以查看其是否正确反映了子应用程序目录。如果不是,这是Sustainsys.Saml2.Mvc程序包中的错误/缺失功能。
  2. 当部署到子目录时,应用程序无法正确调用Sustainsys.Mvc程序包中嵌入的MVC控制器。您可以通过按http://yoursite.com/SubDir/Saml2进行测试-如果可以,它将返回元数据XML。如果是这种情况,则需要检查应用程序中的路由配置,以确保将路径正确路由到MVC软件包中的控制器。
© www.soinside.com 2019 - 2024. All rights reserved.