假設我有四個頁面和兩個用戶類型。登錄後,用戶可以訪問所有四個頁面,但對於我們限制只能訪問2個頁面的第二個用戶。我們怎樣才能達到這個角2 ..?基於角度2中的用戶類型的頁面訪問
0
A
回答
1
您可以創建一個警衛。讓我們以這個例子:
import {Injectable} from '@angular/core';
import {CanActivate, Router, ActivatedRouteSnapshot, RouterStateSnapshot} from '@angular/router';
import {UserService} from '../auth';
@Injectable()
export class RoleGuard implements CanActivate {
constructor(private userService:UserService, private router:Router) {
}
canActivate(next:ActivatedRouteSnapshot, state:RouterStateSnapshot) {
if (this.userService.hasRole('ROLE_ADMIN')) {
return true;
}
this.router.navigate(['some-other-route']);
return false;
}
}
然後將其添加到您的路由:
path: 'pathToAdminRoute',
component: SomeComponent,
canActivate: [RoleGuard]
它是什麼讓只具有特定角色的用戶訪問特定的路線(在這種情況下 - 一個與"ROLE_ADMIN"
作用)
0
您可以使用Angular2 guards
(即CanActivate
,CanActivateChild
,CanDeactivate
用戶CanLoad
)來保護/控制對各種路線(頁面)的訪問。
爲了更好的理解,請仔細閱讀本 - PROTECTING ROUTES USING GUARDS IN ANGULAR
相關問題
- 1. 用戶訪問並顯示基於用戶類型的字段
- 2. 取決於用戶角色的JSF 2頁訪問
- 3. 基於用戶類型的角度4動態頭文件
- 4. 基於角色的訪問
- 5. 基於用戶角色角度路由器的動態登錄頁面「〜3.4.0」
- 6. 訪問的基於類的模型
- 7. 角度和節點的基於角色的頁面瀏覽量
- 8. 表單身份驗證:基於用戶類別的頁面訪問
- 9. 從表單訪問角度頁面
- 10. Flask-Admin基於角色的訪問 - 修改基於角色的訪問
- 11. yii2中基於角色的訪問
- 12. 定義對設計用戶模型的基於角色的訪問
- 13. 在基於類的通用視圖中訪問用戶
- 14. 使用角度顯示註冊頁面的安全問題2
- 15. 子頁面中的角度2路由問題
- 16. 雄辯:獲取基於用戶角色的頁面
- 17. 基於用戶角色的JSF重定向頁面
- 18. 更改後訪問基於禁止的用戶角色
- 19. 基於用戶角色的實體屬性訪問
- 20. OAuth2用戶和基於角色的訪問控制
- 21. 如何使用AngularJS對頁面進行基於角色的訪問?
- 22. Kentico 9 - 基於頁面模板的限制頁面類型
- 23. 基於桌面或移動的角度2不同視圖
- 24. 在grails中基於角色的域類字段訪問
- 25. ASP.NET - 用戶類型明智頁面訪問
- 26. 從父頁面訪問UserControl中的基於模板的控件
- 27. Zend_Navigation:獲取當前用戶/角色可訪問的頁面
- 28. JSF - 基於角色的頁面顯示
- 29. 基於用戶的數據訪問
- 30. 基於角色的訪問控制
這裏看看:http://stackoverflow.com/documentation/angular2/1208/routing-3-0-0#t=201701261626364902546 – meorfi