我正在MEAN堆栈上开发一个Web应用程序(MongoDB,Express,AngularJS和node.js)。我正在开发一个登录系统,并且还会保护一些Angular路由,以便只有登录用户才能访问它们。我正在尝试考虑采用这种架构的最佳方法。
我正在考虑当前的工作流程:
这种方法有意义吗?它是否安全,是否会相对有效/快速执行?
答案 0 :(得分:8)
我最终将我原来的工作流程与Express的auth示例结合起来,见here。它如下:
$rootScope
中并被视为已登录。$rootScope.user
(如果需要),并将用户重定向到登录页面。user
对象(用于存储在$ rootScope中,如前所述)。restrict
函数传递,该函数确保在向客户端发送任何数据之前存在会话。如果没有会话,则返回401
,然后使用this HTTP interceptor在Angular端处理,以取消设置$rootScope.user
并重定向到登录屏幕。$rootScope.user
被设置为null,用户被重定向回到首页。