sitecore错误-仅允许本地URL

sitecore错误-仅允许本地URL,sitecore,sitecore7.2,Sitecore,Sitecore7.2,我必须导航到kickuser.aspx才能将用户踢出。在我选择了要退出的用户之后,我得到了以下错误 此时的页面URL为: http://[Websiteroot]/sitecore/shell/Applications/Login/Users/Kick.aspx?url=http%3a%2f%2f[Websiteroot]%2fsitecore%2fshell%2fApplications%2fLogin%2fUsers%2fUsers.aspx%3fsu%3d%252Fsitecore%25

我必须导航到kickuser.aspx才能将用户踢出。在我选择了要退出的用户之后,我得到了以下错误

此时的页面URL为:

http://[Websiteroot]/sitecore/shell/Applications/Login/Users/Kick.aspx?url=http%3a%2f%2f[Websiteroot]%2fsitecore%2fshell%2fApplications%2fLogin%2fUsers%2fUsers.aspx%3fsu%3d%252Fsitecore%252Fshell%252Fdefault.aspx%253Fsc_lang%253Den%26inv%3d1
查询字符串未解码-不确定这是否是原因


此外,无论我以什么用户身份登录,我都会收到此错误。我以前从未遇到过这种情况

看起来像个虫子。您得到的异常确实是由于查询参数“url”造成的。Sitecore尝试重定向到此参数的任何值,并且在重定向之前不尝试对其进行解码

this.Response.Redirect(WebUtil.GetQueryString(“url”)


不过。此功能发生在实际Kick()之后,因此该功能应按预期工作;只是无法将您重定向回原点。

反射器显示Kick.aspx在引擎盖下有下一个代码:

string queryString = WebUtil.GetQueryString("url");
if (WebUtil.IsExternalUrl(queryString))
{
    throw new SecurityException("Only local URLs are allowed.");
}
base.Response.Redirect(queryString);
WebUtil.IsExternalUrl检查url get参数中是否存在“//”(实际上,它是否编码并不重要。“:/”和“%3a%2f%2f”具有相同的行为)

问题是您不知何故被转移到了page Kick.aspx?url=http://。。。 您可以尝试删除“url”get参数(或删除“”以使路径成为本地路径):


那你就应该可以踢用户了。

你看过这篇博文吗?有帮助吗?是的@AdrianIorgu-这没有帮助。这显然是现成的,我没有更改任何内容来对查询字符串进行编码/解码?干杯@anton,不知道我怎么会错过这个!如何去掉'url'get参数或使路径成为本地路径?是否需要更改某些设置?用户配置文件中的url为空。你知道它是从哪里产生的吗?