我开始学习 NativeScript Angular
(我习惯使用 Angular
开发webapp /网站),我仍然对如何在NativeScript应用程序上创建一些限制访问,或限制特定路由和/或集合感到困惑的路线 .
例如,在Angular中我使用 uiRouter
来定义一些数据,如下所示:
data: {
requireLogin: true
}
在每个页面转换中,我检查是否存在有效令牌以保证对该用户的访问权限 . 在 NativeScript
我正在思考它并且可以做同样的事情,我只是对 NativeScript
非常新,我不知道这是否会违反任何最佳做法或常见的安全方案 .
例如,我将在登录后在 Application Settings
上设置令牌,如下所示:
submit() {
// process the login here
if ( success ) {
setString(AppSettings.authToken, authToken );
}
}
然后我将路由设置为具有父组件的父路由,我将检查此标记,例如:
export class ParentComponent implements OnInit {
constructor() {}
ngOnInit() {
if ( !getString(AppSettings.authToken)) {
return this.router.navigate(["/login"]);
}
}
}
这样我在访问受限区域的应用程序时会检查用户是否有有效的会话 .
但是,例如,在正常 Angular
应用程序中我也使用拦截器,如果 authToken
仍然有效,则检入每个 http
请求 .
在这种情况下我该怎么做?
我试图在 NativeScript Angular
安全上找到任何材料,但没有找到任何材料 . 有什么地方我可以阅读更多关于这个?
在处理这种情况时,我应该记住什么?
1 回答
你可以使用Angular的route guards
NativeScript中canActivate路由保护的基本示例
基于此test application
The same deal在真实的演示应用程序中 . Here是Sample-Groceries应用程序中此防护的实际用法 .