2016-08-19 68 views
0

我继承了没有其开发环境的现有项目。我有UAT代码和生产数据库的备份。我可以通过Visual Studio在本地运行该站点,但遇到了尝试在AWS(单一服务器,无负载均衡器)上设置新的独立DEV服务器的身份验证问题。 doco表示Prod服务器是具有负载平衡器的双服务器设置。缺少针对安全令牌发布者的配置错误

前端网站页面显示,尽管某些搜索无法正常工作。在尝试登录后端页面时,Chrome会返回“xxx页面无法正常运行,xxx重定向了太多次”。使用开发人员工具,我可以看到页面在SWT?realm = ...和sitefinity之间来回重定向wrap_defalted = true & wrap_access_token ...在第二个重定向响应标题上有“X-Authentication-Error:Missing configuration for安全令牌“https://xxx/Sitefinity/Authenticate/SWT”“

我在web.config行尝试不同的值,发行人:

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

,但实际上事情变得更糟,所以我已经恢复。

我检查了http://docs.sitefinity.com/administration-switch-to-claims-based-authentication中提到的所有设置,它们似乎设置正确。我真的不知道还有什么可以检查才能使其工作。

我发现http://docs.sitefinity.com/administration-configure-security,但它似乎没有设置这些设置(我无法访问Prod服务器,因此无法确认它是否实际设置了负载平衡)。我目前正在使用30天的试用许可证,因此我不确定这是否会导致问题。官方许可正在由客户转移。与官方许可证相关的域名将与我的新服务器当前正在运行的域不同。

我也在版本9的Sitefinity安装上运行版本8代码。我想在我尝试升级代码之前使它工作。我认为当我尝试升级我的本地版本时,还有一个程序集负载显示不匹配。

回答

1

找到解决方案:不要搞乱SecurityConfig.config文件。

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

即使它在服务器上运行,上述行仍应指向本地主机。看起来这些只需要编辑,如果你有一个完全独立的STS的多服务器设置。

我最初改变它以匹配新的域名,但经过一些围绕添加本地主机和HTTP变化的实验后,它似乎最适合本地主机。

即使当我更改上面的web.config条目以使用新域作为颁发者而不是本地主机,而SecureConfig.config只将新域指定为领域时,它似乎也不起作用。我想认证必须专门尝试打本地主机。

相关问题