问题标签 [canactivate]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
angular - Angular 2 - CanActivate Observable 在订阅后获取价值
如果用户登录,我有一个“CanActivate”检查我的网络服务。
“CanActivate”返回 Observable。唯一担心的是,我需要恢复这个布尔值的值,以便能够在用户连接或不连接的情况下调整我的视图,而无需重做第二个请求......
谢谢您的帮助
angular - Angular2:使用浏览器导航按钮时 AuthGuard 不起作用
我配置了一个简单的 AuthGuard,在“正常”浏览应用程序时工作得非常好(见下面的代码)。
现在想象一下:
用户导航到/content/secured-content
,这需要身份验证 => 他被重定向到,/authentication/login
因为checkLogin
=> 他成功通过身份验证,因此被重定向回/content/secured-content
=> 他单击“注销”按钮并成功注销(checkLogin
现在将返回 false)。
现在重要的东西:当用户现在导航回安全内容页面(浏览器的“返回”按钮)时,既不canActivate
也不canActivateChild
也不canLoad
被调用,路由器愉快地显示安全内容。受保护的内容本身依赖于在注销时被破坏的会话,因此它仍然是安全的,但我希望用户/authentication/login
再次被重定向到该页面并期望该行为是诚实的。
你能告诉我我在推理中的错误在哪里,以及我的问题是否有适当的解决方案?
附件
路由配置片段:
auth-guard.service.ts:
ng--版本:
angular - 如果设置,CanActivate 和 CanActivateChild 会同时运行吗?
目前我的应用程序将为服务器设置一个 XHR 以获取用户信息。
我已将 CanActivate 和 CanActivateChild 设置为:
当我转到/a
发送两次的 XHR 时,Angular 将同时并行运行 CanActivate 和 CanActivateChild 但不是CanActivate
首先运行CanActivateChild
?
angular - 多个Guards调用异步函数
我有两个警卫,Guard1 和 Guard2。Guard1 返回一个 Observable,Guard2 返回布尔值。
canActivate:[Guard1,Guard2]
假设Guard2会返回false,Guard1的请求会自动取消吗?还是无论如何都会执行呼叫?
angular - 无法在 Angular 中使用 canDeActivate 或 canActivate
我正在尝试使用 canDeActivate 和 canActivate,并且我正在使用它,如下所示与 Angular 4 一起使用。我得到了no provider error
同样的结果。实现有什么问题,或者干净简单地实现它的正确方法是什么。
错误更新:
angular - Guard 总是重定向到默认路由
我有一个检查用户会话的警卫。我正在从一个承诺中创建一个可观察对象并返回该可观察对象。
不幸的是,路由器总是在刷新时将我重定向到主页。我想这与可观察对象有关,因为当我简单地导航时,它会输入 if 并返回“Observalbe.of(true)”,这很有效。
我尝试用“return true”替换 observable,一切都按预期工作。
有任何想法吗?谢谢!
angular - canactivate 保护角 2
我有一个有两个组件“登录”和“家”的角度应用程序。我想保护 home 组件,直到用户登录。
我有一个具有布尔变量“isUserLoggedIn”的服务。根据这个变量的值,我保护我的组件。
网络服务-
我的身份验证代码
登录组件
路由器
最后是我的应用模块
现在我使用硬编码文本作为用户名和密码。
我的问题是,即使登录组件将服务的“isUserLoggedIn”变量设置为“true”,auth-guard 仍然认为它是 false。因此我无法导航到“主页”组件。
javascript - Angular 2 中的 CanActivate 返回未定义
我需要canActivate在json加载之前不要进一步跳过,为此我检查canActivate是否未定义,它返回false,但在控制台中输出canActivate已传递且值为未定义。我做错了,我将不胜感激,谢谢。
我的http-data.service
] 2
angular - Angular 4 CanActivate 任何一个守卫都是真的
有没有办法在 Angular 4 中实现 CanActivate 保护,这样如果任何一个保护为真,则应该允许路由。我知道这可以通过对函数使用提供并在其中实现逻辑来实现,但是很难在应用程序路由模块类中的该函数中注入依赖项。我编写了一个处理身份验证和授权相关功能的自定义类。这个自定义类是可注入的,用于角色验证。
请推荐是否有框架级别的工具来实现这一点,因为如果所有守卫都为真,默认功能允许访问路由。