登录到umbraco 6.1后端不再起作用,不断收到错误并重定向回login.aspx页面

时间:2013-11-07 16:09:51

标签: cookies umbraco p3p

使用我们的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"}

正如其他帖子中所建议的那样,我删除了我的Cookie并重试,但没有运气。

我还会不时收到其他错误:

  

uiKeys未定义

我使用二进制文件上传了我的umbraco / config / lang文件夹,但有时我仍然会收到错误

  

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

我将此添加到我的web.config

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

并且错误似乎消失了

我在注销页面开头的文档类型声明中也遇到一些关于synthax的错误,我被重定向到

我已经在这几个小时了,似乎无法修复它。

本地登录工作。


修改

我刚刚安装了6.1.6和6.1.5并尝试登录,但仍然收到错误消息: http://staging.mydomaimn.com/umbraco/webservices/TreeClientService.asmx/GetInitAppTreeData 500内部服务器错误: {“Message”:“用户没有umbraco contextid - 尝试登录”,“StackTrace”:“在Umbraco.Web.Security的Umbraco.Web.Security.WebSecurity.ValidateCurrentUser(HttpContextBase httpContext,Boolean throwExceptions)\ r \ n .WebSecurity.AuthorizeRequest(HttpContextBase httpContext,Boolean throwExceptions)\ r \ n在Umbraco.Web.WebServices.UmbracoAuthorizedWebService.AuthorizeRequest(Boolean throwExceptions)\ r \ n在Umbraco.Web.WebServices.UmbracoAuthorizedWebService.AuthorizeRequest(String app,Boolean throwExceptions) \ r \ n在umbraco.presentation.webservices.TreeClientService.GetInitAppTreeData(String app,String treeType,Boolean showContextMenu,Boolean isDialog,TreeDialogModes dialogMode,String functionToCall,String nodeKey)“,”ExceptionType“:”System.InvalidOperationException“}

这是一个以前从未登录过的全新安装 问题可能在于数据库设置。我的主机使用MSSQL 2012,我有两个数据库,第一个用于实时版本,称为“myloginname”,第二个用于暂存,称为“myloginname_1”。 将登录放入数据库(我读Umbraco的时候)是_1的问题吗?


修改2

刚查看我的数据库,Umbraco确实在db表'umbracoUserLogins'中创建了一个contextId但是没有创建应该包含相同'UMB_UCONTEXT'的cookie

所以这可能是我真正的问题,可能导致这个问题?

编辑:有关此内容的更多信息: 当我看到提琴手时,我可以看到: 在“原始”标签上:

  

HTTP / 1.1 302 Found Cache-Control:private Content-Type:text / html;   charset = utf-8位置:/ umbraco / Set-Cookie:   ASP.NET_SessionId = zjlqfoxq421wmnpeydcbxv1t;路径= /;仅Http   Set-Cookie:ASP.NET_SessionId = zjlqfoxq421wmnpeydcbxv1t;路径= /;   HttpOnly Set-Cookie:UMB_UCONTEXT = 694C3 [......很多文字......] CFDD5EDB;   expires = Tue,12-Nov-2013 14:07:23 GMT;路径= /; HttpOnly日期:星期一,11   2013年11月14:07:23 GMT内容长度:126

Cookie标签显示:

  

响应发送了1318个字节的Cookie数据:Set-Cookie:   UMB_UCONTEXT = 694C3 [......很多文字......] D5EDB;到期= 2013年11月12日星期二   格林尼治标准时间14:07:23;路径= /; HttpOnly此响应不包含P3P   报头中。

所以我们可以得出结论:

  • 到期时间和日期是正确的
  • 有一个302错误,但这似乎适用于所有Cookie和 其他两个被提到(我对此感到困惑)
  • 也许P3P标题是个问题?

1 个答案:

答案 0 :(得分:1)

我能解决这个问题。 未创建UMB_UCONTEXT cookie的原因是我修复了错误

  

viewstate MAC验证失败。如果此应用程序由a托管   Web场或群集,确保配置指定相同   validationKey和验证算法。无法使用AutoGenerate   集群。

错误的方式。正如How To Fix the: “Validation of viewstate MAC failed” Error (ASP.NET MVC)所示,我需要创建一个随机机器密钥并将其添加到我的web.config