Asp.net mvc Umbraco 7定制饼干
我在翁布拉科附近运行一个MVC站点。MVC站点完全独立于Umbraco处理自己的身份验证,而ASP.NET为此形成了身份验证。它设置一个cookie,并在内部使用它来跟踪事情 大部分情况下,一切正常,但如果我使用上述cookie集登录MVC站点,我会尝试使用正确的Umbraco凭据登录到Umbraco管理部分,它会对我进行身份验证并将我重定向到管理部分,但WebAPI调用开始失败。第一个是调用:Asp.net mvc Umbraco 7定制饼干,asp.net-mvc,cookies,umbraco,umbraco7,Asp.net Mvc,Cookies,Umbraco,Umbraco7,我在翁布拉科附近运行一个MVC站点。MVC站点完全独立于Umbraco处理自己的身份验证,而ASP.NET为此形成了身份验证。它设置一个cookie,并在内部使用它来跟踪事情 大部分情况下,一切正常,但如果我使用上述cookie集登录MVC站点,我会尝试使用正确的Umbraco凭据登录到Umbraco管理部分,它会对我进行身份验证并将我重定向到管理部分,但WebAPI调用开始失败。第一个是调用:/umbraco/backoffice/UmbracoApi/UpdateCheck/GetCheck
/umbraco/backoffice/UmbracoApi/UpdateCheck/GetCheck
,返回417缺失令牌null
HTTP错误响应
如果我删除自定义cookie并刷新页面,一切正常
我不明白我的饼干怎么会干扰翁布拉科的。它没有使用ASP.NET表单身份验证或任何东西。我最初的想法是,您无意中使用了Umbraco保留的cookie键值,这可能导致读取错误的cookie,从而导致问题。解决这个问题的方法是简单地重命名cookie 如果不是这样,我有另一个理论: HTTP请求将始终包括路径/域与您请求的资源域匹配的所有cookie。它们主要按路径长度排序,其次按创建时间排序。如果出于某种原因,Umbraco backend在列表中发现用于身份验证的cookie是通过其索引号(甚至不会感到惊讶)而不是键值,则您的自定义cookie将导致索引移动,从而使Umbraco看到错误的cookie 因此,如果重命名cookie没有任何作用,那么可以尝试的一件有趣的事情是将cookie的路径设置为尽可能短的路径,这将使浏览器将cookie放在列表的较低位置,这样索引就不会移动
不过这只是一个理论,所以我很想听听它是怎么回事:)发生此错误是因为您的请求没有发送所需的角度CSRF头+cookie。我不知道为什么会出现这种情况,但如果这是你的定制饼干的错误,那就显得很奇怪了。也许您可以告诉我们有关您的问题的更多信息:Cookie名称/值、复制步骤、Umbraco的特定版本、托管环境等 关于发生了什么,返回此错误的代码如下: 这是设置CSRF cookies的地方: 此属性应用于两个操作,一个用于登录,另一个用于检索当前用户数据:
希望根据以上信息,您能够准确指出问题的起因。这就是问题所在->我看不到任何迹象表明Cookie是通过索引号找到的,对不起:)我正在后台使用会话。设置会话时,会添加一个名为ASP.NET_SessionId的额外cookie。cookie以字母“A”开头,是索引中的第一个。在那之后,我还发现了这些错误。@snifdk我真的很高兴听到这些:)