asp.net-mvc – Umbraco 7自定义cookie

我在Umbraco旁边经营着一个MVC网站. MVC站点处理自己的身份验证,完全独立于Umbraco,以及ASP.NET Forms身份验证.它设置一个cookie并在内部使用它来跟踪事物.

在大多数情况下一切正常,但如果我使用上述cookie集登录到我的MVC站点,我尝试使用正确的Umbraco凭据登录到Umbraco管理部分,它会对我进行身份验证并将我重定向到管理部分但是WebAPI调用开始失败.第一个是调用:/ umbraco / backoffice / UmbracoApi / UpdateCheck / GetCheck,它返回一个417 Missing token null HTTP错误响应.

如果我删除我的自定义cookie并刷新页面一切正常.

我不明白我的饼干如何干扰Umbraco的.它不使用ASP.NET Forms身份验证或任何东西.

解决方法

发生此错误是因为您的请求未发送所需的角度CSRF标头cookie.我不确定为什么会出现这种情况,但如果它是您的自定义cookie的错误,它似乎很奇怪.也许您可以告诉我们有关您的问题的更多信息:Cookie名称/值,重现步骤,Umbraco的特定版本,托管环境等….

关于发生了什么的一些信息,返回此错误的代码在这里:

https://github.com/umbraco/Umbraco-CMS/blob/dev-v7/src/Umbraco.Web/WebApi/Filters/AngularAntiForgeryHelper.cs#L94

这是设置CSRF cookie的地方:

https://github.com/umbraco/Umbraco-CMS/blob/dev-v7/src/Umbraco.Web/WebApi/Filters/SetAngularAntiForgeryTokensAttribute.cs

此属性应用于两个操作,一个用于登录,另一个用于检索当前用户数据:

> https://github.com/umbraco/Umbraco-CMS/blob/dev-v7/src/Umbraco.Web/Editors/AuthenticationController.cs#L103
> https://github.com/umbraco/Umbraco-CMS/blob/dev-v7/src/Umbraco.Web/Editors/AuthenticationController.cs#L84

这是在JS中设置标头的地方:

https://github.com/umbraco/Umbraco-CMS/blob/5b9a98ad6ae9e63322c26f7b162204e34f7fcb54/src/Umbraco.Web.UI.Client/src/init.js#L11

根据您的托管环境/设置,有一些奇怪的报告显示某些防火墙剥离/更改数据,例如:

http://our.umbraco.org/forum/umbraco-7/using-umbraco-7/47340-Umbraco-7-plus-ISA-Server-2006

希望根据上面的信息,您可能能够确定问题的开始位置.

dawei

【声明】:丽水站长网内容转载自互联网,其相关言论仅代表作者个人观点绝非权威,不代表本站立场。如您发现内容存在版权问题,请提交相关链接至邮箱:bqsm@foxmail.com,我们将及时予以处理。