jjzjj

AuthGuard

全部标签

javascript - "Error: Arguments array must have arguments."应用模块

在我的Angular应用程序中运行ngserve并成功编译时,我开始在浏览器控制台中收到以下错误。AppComponent_Host.ngfactory.js?[sm]:1ERRORError:Argumentsarraymusthavearguments.atinjectArgs(core.js:1412)atcore.js:1491at_callFactory(core.js:8438)at_createProviderInstance(core.js:8396)atresolveNgModuleDep(core.js:8371)atNgModuleRef_.push../node

javascript - NestJs - 无法在 RolesGuard 中获取用户上下文

我使用NestJS作为客户端API的框架。在该框架内,我们使用的是非常标准的Passport/JWT身份验证基础设施,该基础设施运行良好。当找到不记名token时,我们的AuthGuard将触发,并且在安全的API端点中,我可以通过“@Res()请求”注入(inject)HTTP上下文并访问包含我的Jwttoken有效负载的“request.user”属性.除此之外,我们正尝试以与文档中提供的示例代码和GitHub上的一些示例项目非常相似的方式实现“RolesGuard”(它们都没有真正使用这个守卫,但它们将其作为样本守卫)。我们的问题是我们的AuthGuard触发并验证Jwttoke

javascript - Angular 2 : how to "reload" page with router (recheck canActivate)?

我的路由器带有canActivate:[AuthGuard]并在AuthGuard中进行验证如何在相同的路由器url中强制检查canActivate?例如:当前路由是/admin并且我有类似sessionexpired的事件。我在AuthGuard中进行了session检查,但此检查仅在我执行.navigate(...)时激活。如何在同一位置强制运行canActivate?我已经尝试过:this.router.navigate([this.router.url]);但是Angular检查相同的位置并且什么也不做。附注当我收到sessionexpiredevent时,我可以定位到“登录页

javascript - 在另一个守卫解决后,Angular2 运行守卫

在我的项目中,我有两个守卫。AuthGuard和PermissionGuard。我需要首先运行AuthGuard,当它解决时,如果permissionGuard为真,permissionGuard开始但现在这个守卫并行运行并且permissionGuard不能正常工作。我用于此问题的方法是在Permissionguard中调用AuthGuardCanActivate方法,但我认为有更好的方法来执行此操作。 最佳答案 我见过的最好的方法是在子路由上公开路由守卫。这是一个workingexample.{path:'',canActiva

javascript - 带有重定向的 Angular 2 AuthGuard 服务?

我正在构建一个在仪表板路由上实现CanActivate的应用程序。除了页面重新加载外,它工作正常,我检查用户服务中的标志以查看用户是否登录。默认情况下,此标志为false,将用户踢出登录。同样在页面重新加载时,我正在尝试使用localStorage中的token获取用户数据,如果获取成功,我希望他们能够留在仪表板上。问题是我看到了登录信息,不得不手动将它们重定向到仪表板。有什么方法可以解决此问题,使authGuard在检查API之前不执行任何操作?代码在这里:https://github.com/judsonmusic/tfl仪表板:import{Component,ViewChild

javascript - 具有用户 Angular 色参数的 Angular2 路由 canActivate 和 AuthGuard (JWT)

在此exapleproject通过JWT身份验证,我们知道如何只允许经过身份验证的用户访问某些路由:import{RouterConfig}from'@angular/router';import{Home}from'./home';import{Login}from'./login';import{Signup}from'./signup';import{AuthGuard}from'./common/auth.guard';exportconstroutes:RouterConfig=[{path:'',component:Login},{path:'login',componen