【发布时间】:2016-06-07 23:19:56
【问题描述】:
我正在使用 angular 2 和 asp.net 5 mvc 6 创建我的第一个 spa 应用程序。这将是一个使用基于 cookie 的身份验证的简单应用程序。我知道我应该使用令牌,但我不需要将身份验证传递给其他应用程序,所以 cookie 就足够了。 我还决定使用基于权限的授权。数据库架构如下所示:
User ---> Role <----> Permission
当用户未通过身份验证时我的 api 返回代码 401,当他通过身份验证但他无权访问数据时返回代码 403
我已经实现了这部分: schema
但现在我不知道如何处理客户端中的用户凭据和权限,我有一些问题。我只是需要一些指导。
设置会话后如何在 spa 中存储用户数据?有很多选择。每次我需要用户数据时,我都可以调用 api,例如用户名、电子邮件或者我可以获取一次并存储在加密的 cookie 或 localStorage 中。
-
与用户权限相同。由于当前用户权限使用 *ngIf 等指令,我想管理模板中按钮或菜单中的链接等的显示。我还可以将用户权限存储在 localStorage 中,或者每次路由更改时调用 api 来获取 json,例如:
{ showEditButton: true, showHeader: false }
【问题讨论】:
标签: asp.net-mvc authentication angular session-cookies