当前位置: 首页 > 知识库问答 >
问题:

防伪令牌问题得到解决,但在项目生效后很奇怪

淳于烈
2023-03-14

我有两个web应用程序项目,都位于TFS源代码管理中。第一个项目不会引起反伪造令牌的问题。

这就是错误所在

类型System的异常。发生在System.网页。WebPages.dll但未在用户代码中处理

附加信息:类型为'http://schemas.xmlsoap.org/ws/2005/05/identity/claims/nameidentifier“或者”http://schemas.microsoft.com/accesscontrolservice/2010/07/claims/identityprovider“在所提供的索赔中不存在。要使用基于声明的身份验证启用防伪令牌支持,请验证配置的声明提供程序是否在其生成的ClaimSideEntity实例上提供了这两个声明。如果配置的声明提供程序使用不同的声明类型作为唯一标识符,则可以通过设置静态属性AntiForgeryConfig对其进行配置。UniqueClaimTypeIdentifier。

找到的解决方案添加

AntiForgeryConfig.UniqueClaimTypeIdentifier = ClaimsIdentity.DefaultNameClaimType;

这是项目的Global.asax.cs文件,它一直抛出这个错误,所以我做了,它修复了这个问题。

然而这就是奇怪部分的由来。。。当我运行“固定”应用程序时,我将作为其他web应用程序的用户登录。

因此,我决定运行另一个应用程序,并注意到我仍然登录,所以我注销并停止调试。然后进入“固定”项目并注释掉

AntiForgeryConfig.UniqueClaimTypeIdentifier = ClaimsIdentity.DefaultNameClaimType;

项目运行正常。

所以很明显,如果我没有从另一个应用程序注销,那么这个错误就会被抛出。

我不知道这是怎么回事,甚至不知道为什么会这样,有什么想法吗?

共有1个答案

艾骏喆
2023-03-14

您之所以会收到错误,是因为cookie是针对localhost存储的,这意味着您运行的任何应用程序都将尝试使用它。要解决此问题,您需要将应用程序使用的cookie的名称区分开来。这是通过CookieName属性完成的。在App\u Start文件夹中,编辑启动。Auth。cs文件(如果您有不同的模板,可能会以不同的名称命名)并添加一行以设置cookie名称:

app.UseCookieAuthentication(new CookieAuthenticationOptions
{
    AuthenticationType = DefaultAuthenticationTypes.ApplicationCookie,
    LoginPath = new PathString("/Account/Login"),
    //snip
    CookieName = "NameOfYourAppForExample"
});
 类似资料:
  • 我对防伪令牌有一个问题:(我创建了自己的用户类,该类工作正常,但现在每当我转到/Account/Register页面时,我都会收到一个错误。错误是: http://schemas.xmlsoap.org/ws/2005/05/identity/claims/nameidentifier或http://schemas.microsoft.com/accesscontrolservice/2010/0

  • 本文向大家介绍Springboot项目监听器失效问题解决,包括了Springboot项目监听器失效问题解决的使用技巧和注意事项,需要的朋友参考一下 1.使用springboot项目,现在有个需求是在添加或者修改某个菜单后,菜单会影响角色,角色影响用户。所有受影响的用户在要退出重新登录。 自己实现的思路是这样的:写一个监听器,在收到某个特定的请求后,监听当前所有的用户,如果是受影响的用户,就销毁se

  • SpringBoot项目本地运行测试一切正常,Jar包在本地运行也正常,当打包后传到 Linux 系统上,项目启动也没有问题,但是在前端发送请求后,发生了 Caused by: java.lang.ClassNotFoundException: com.qsj.acojbackendmodel.entity.User,这个User路径是错误的 ,正常应该是:com.qsj.acoj.model.e

  • 本文向大家介绍解决layer.open后laydate失效的问题,包括了解决layer.open后laydate失效的问题的使用技巧和注意事项,需要的朋友参考一下 如果你的open方式是1(html)的话这样是可以的, 如果是2(iframe)方式打开,你把注入的代码写在打开的界面就可以了不用这样写,open的参数type是有区别的,所以请注意: 今天在开发项目时候使用到了laydate,按照官方

  • 本文向大家介绍解决vue项目 build之后资源文件找不到的问题,包括了解决vue项目 build之后资源文件找不到的问题的使用技巧和注意事项,需要的朋友参考一下 解决静态资源失效的问题 这就需要修改我们的 config 中的 index.js了,默认的build 中的部分是这样的: 修改之后的应为这样的: 但是这样能确保资源文件可被正常找到, 但页面还是处于白屏状态, 在路由页面找到mode:

  • Xpages应用程序已经有几年的历史了,但现在,对现有Xpage的任何更新都会显示一条浏览器消息: HTTP Web服务器:找不到项目异常 xpages_exec日志显示: com . IBM . xsp . page . pagenotfoundexception:无法创建页面/Cards.xsp,因为类xsp。找不到卡片。请检查你的拼写。 即使只是简单地重新保存工作Xpage,也会发生这种情况