Authentication 缺少安全令牌颁发者的配置错误

Authentication 缺少安全令牌颁发者的配置错误,authentication,claims-based-identity,sitefinity,Authentication,Claims Based Identity,Sitefinity,我继承了一个没有开发环境的现有项目。我有UAT代码和生产数据库的备份。我可以通过VisualStudio在本地运行该站点,但在尝试在AWS上安装新的独立开发服务器(单服务器,无负载平衡器)时遇到了身份验证问题。doco表示Prod server是一个带有负载平衡器的双服务器设置 前端站点页面确实会显示,尽管某些搜索不起作用。在尝试登录后端页面时,Chrome返回“xxx页面不工作。xxx重定向您的次数太多。”使用开发工具,我可以看到页面在SWT?realm=。。。和sitefinity?wrap

我继承了一个没有开发环境的现有项目。我有UAT代码和生产数据库的备份。我可以通过VisualStudio在本地运行该站点,但在尝试在AWS上安装新的独立开发服务器(单服务器,无负载平衡器)时遇到了身份验证问题。doco表示Prod server是一个带有负载平衡器的双服务器设置

前端站点页面确实会显示,尽管某些搜索不起作用。在尝试登录后端页面时,Chrome返回“xxx页面不工作。xxx重定向您的次数太多。”使用开发工具,我可以看到页面在SWT?realm=。。。和sitefinity?wrap\u defalted=true&wrap\u access\u令牌。。。在第二个重定向响应头上有“X-Authentication-Error:缺少安全令牌颁发者的配置”

我在web.config行中尝试了不同的值:

<federatedAuthentication>
        <wsFederation passiveRedirectEnabled="true" issuer="http://localhost" realm="http://localhost" requireHttps="true"/>
        <cookieHandler requireSsl="false"/>
</federatedAuthentication>

但这实际上让事情变得更糟,所以我又回来了

我检查了中提到的所有设置,它们似乎设置正确。我真的不知道还能查到什么来让它工作

我找到了,但似乎没有设置这些设置(我没有访问Prod server的权限,因此无法确认它是否确实是使用负载平衡设置的)。我目前正在使用30天的试用许可证,因此不确定这是否是问题的原因。客户正在转让官方许可证。与官方许可证关联的域名与我的新服务器当前运行的域不同


我还在Sitefinity的9版安装上运行8版代码。我想在升级代码之前让它工作。我认为在升级本地版本时,也存在程序集加载与清单不匹配的问题。

找到了解决方案:不要弄乱SecurityConfig.config文件

<securityTokenIssuers>
    <add key="B886AA7BFB5515BA63F577A44BBEB5C7AE674035514D128BC397346B11F4C97A" encoding="Hexadecimal" membershipProvider="Default" realm="http://localhost" />
</securityTokenIssuers>
<relyingParties>
    <add key="B886AA7BFB5515BA63F577A44BBEB5C7AE674035514D128BC397346B11F4C97A" encoding="Hexadecimal" realm="http://localhost" />
</relyingParties>

即使它在服务器上运行,上面的几行仍然应该指向localhost。似乎只有当您有一个完全独立的STS的多服务器设置时,才需要编辑这些文件

我最初将其更改为与新域名匹配,但经过一些关于添加localhost和HTTP变体的实验后,它似乎只适用于localhost

即使我更改了上面的web.config条目,将新域用作颁发者而不是localhost,并将SecureConfig.config仅指定新域作为领域,它似乎也不起作用。我猜身份验证必须尝试专门针对本地主机