Cookies 登录到umbraco 6.1后端系统';无法继续工作,请不断获取错误并重定向回login.aspx页面

Cookies 登录到umbraco 6.1后端系统';无法继续工作,请不断获取错误并重定向回login.aspx页面,cookies,umbraco,p3p,Cookies,Umbraco,P3p,在使用我们的umbraco网站的后端几个月后,我又开始为我们的网站开发。由于该网站正被一些人使用,我决定使用一个登台环境。 所以我移动了我所有的文件,最后数据库也被克隆了 但现在每当我尝试登录到umbraco的后端(在实时和临时环境中),我的firebug控制台中就会出现一个javascript错误: {"Message":"The user has no umbraco contextid - try logging in","StackTrace":" at Umbraco.Web.Se

在使用我们的umbraco网站的后端几个月后,我又开始为我们的网站开发。由于该网站正被一些人使用,我决定使用一个登台环境。 所以我移动了我所有的文件,最后数据库也被克隆了

但现在每当我尝试登录到umbraco的后端(在实时和临时环境中),我的firebug控制台中就会出现一个javascript错误:

{"Message":"The user has no umbraco contextid - try logging in","StackTrace":"   at Umbraco.Web.Security.WebSecurity.ValidateCurrentUser(HttpContextBase httpContext, Boolean throwExceptions)\r\n   at Umbraco.Web.Security.WebSecurity.AuthorizeRequest(HttpContextBase httpContext, Boolean throwExceptions)\r\n   at Umbraco.Web.WebServices.UmbracoAuthorizedWebService.AuthorizeRequest(Boolean throwExceptions)\r\n   at Umbraco.Web.WebServices.UmbracoAuthorizedWebService.AuthorizeRequest(String app, Boolean throwExceptions)\r\n   at umbraco.presentation.webservices.TreeClientService.GetInitAppTreeData(String app, String treeType, Boolean showContextMenu, Boolean isDialog, TreeDialogModes dialogMode, String functionToCall, String nodeKey)","ExceptionType":"System.InvalidOperationException"}
正如其他帖子所建议的,我删除了我的cookies,然后再试一次,但运气不好

我还不时遇到一些其他错误:

uiKeys未定义

我用二进制文件上传了我的umbraco/config/lang文件夹,但有时还是会出错

viewstate MAC验证失败。如果此应用程序由Web场或群集托管,请确保配置指定了相同的validationKey和验证算法。无法在群集中使用自动生成

我把这个添加到了我的web.config

<pages enableEventValidation="false" validateRequest="false" viewStateEncryptionMode ="Never" />

错误似乎已经消失了

在我被重定向到的注销页面开始处的文档类型声明中,我还发现了一些关于synthax的错误

这件事我已经做了好几个小时了,似乎无法解决

本地登录工作


编辑

我刚刚重新安装了6.1.6和6.1.5,并尝试登录,但仍然出现错误: 500内部服务器错误: {“消息”:“用户没有umbraco contextid-请尝试登录”,“StackTrace”:“位于umbraco.Web.Security.WebSecurity.ValidateCurrentUser(HttpContextBase httpContext,Boolean ThroweExceptions)\r\n位于umbraco.Web.Security.WebSecurity.AuthorizeRequest(HttpContextBase httpContext,Boolean ThroweExceptions)\r\n在Umbraco.Web.WebServices.Umbraco AuthorizedWebService.AuthorizeRequest(布尔ThroweExceptions)\r\n在Umbraco.Web.WebServices.Umbraco AuthorizedWebService.AuthorizeRequest(字符串app,布尔ThroweExceptions)\r\n在Umbraco.presentation.WebServices.TreeClientService.GetInitAppTreeData(字符串应用程序、字符串树型、布尔显示上下文菜单、布尔isDialog、树型对话框模式、字符串函数调用、字符串节点键)”、“异常类型”:“System.InvalidOperationException”}

这是一个从未登录过的新安装 可能是数据库设置有问题。我的主机使用MSSQL 2012,我有两个数据库,第一个用于实时版本,称为“myloginname”,第二个用于登台,称为“myloginname_1”。 在数据库中登录时(我读到的是Umbraco),是否会出现问题


编辑2

只是查看了我的数据库,Umbraco确实在db表“umbracoUserLogins”中创建了一个contextId,但没有创建应该包含相同“UMB\u UCONTEXT”的cookie

这可能是我真正的问题,是什么原因造成的

编辑:有关此的更多信息: 当我看Fiddler时,我可以看到: 在“原始”选项卡上:

HTTP/1.1 302找到缓存控制:私有内容类型:text/html; 字符集=utf-8位置:/umbraco/Set Cookie: ASP.NET_SessionId=zjlqfoxq421wmnpeydcbxv1t;路径=/;仅HttpOnly 设置Cookie:ASP.NET_SessionId=zjlqfoxq421wmnpeydcbxv1t;路径=/; HttpOnly Set Cookie:UMB_UCONTEXT=694C3[…大量文本…]CFDD5EDB; expires=2013年11月12日星期二14:07:23格林威治标准时间;路径=/;HttpOnly日期:11月11日星期一 2013年11月14:07:23格林尼治标准时间内容长度:126

cookie选项卡显示:

响应发送了1318字节的Cookie数据:设置Cookie: UMB_UCONTEXT=694C3[…大量文本…]D5EDB;expires=Tue,2013年11月12日 14:07:23 GMT;path=/;Http仅此响应不包含P3P 标题

因此,我们可以得出结论:

  • 过期时间和日期是正确的
  • 存在302错误,但这似乎适用于所有cookie和 提到的另外两个是创建的(我对此感到困惑)
  • 也许P3P头是个问题
    • 我能够解决这个问题。 没有创建UMB_UCONTEXT cookie的原因是我修复了错误

      验证viewstate MAC失败。如果此应用程序由 Web场或群集,请确保配置指定了相同的 validationKey和验证算法。无法在中使用自动生成 一簇


      错误的方法。如图所示,我需要创建一个随机的machinekey并将其添加到我的web.config

      中。我刚刚意识到我所使用的服务器不是完全信任的,而是中等信任权限。这可能是相关的。您链接指向的页面指向一个似乎不再工作的机器密钥生成器。下面是一个工作的:
      <pages enableEventValidation="false" validateRequest="false" viewStateEncryptionMode ="Never" />