Angular 2 和 Asp.Net 5 mvc 6 - 身份验证实践
Angular 2 and Asp.Net 5 mvc 6 - authentication practices
我正在使用 angular 2 和 asp.net 5 mvc 6 创建我的第一个 spa 应用程序。它将是一个使用基于 cookie 的身份验证的简单应用程序。我知道我应该使用令牌,但我不需要将身份验证传递给其他应用程序,因此 cookie 就足够了。
我还决定使用基于权限的授权。数据库架构如下所示:
User ---> Role <----> Permission
我的 api return 代码 401 当用户未通过身份验证时代码 403 当他通过身份验证但他没有访问数据的权限时
我已经实现了这部分:
schema
但现在我不知道如何处理客户端中的用户凭据和权限,我有一些疑问。我只是需要一些指导。
session设置后如何在认证后将用户数据存储到spa中?有很多选择。每次需要用户数据时,我都可以调用 api,例如用户名、电子邮件或者我可以获取一次并存储在加密的 cookie 或 localStorage 中。
同用户权限。由于当前用户权限使用 *ngIf 之类的指令,我想管理模板中按钮或菜单中链接等的显示。我还可以在 localStorage 中存储用户权限,或者每次更改路由时调用 api 以获得 json,例如:
{
showEditButton: true,
showHeader: false
}
我将此信息存储在浏览器的本地存储中。我在用户登录时将用户信息(用户名)对象保存在本地存储中,并在我从 api 收到未经授权的响应时或在用户注销时清除它。我建议您使用代币进行 SPA。 SPA应该是无状态的。 api 的令牌授权不仅适用于外部提供商。
这个项目处理以上所有问题:https://github.com/chsakell/aspnet5-angular2-typescript值得一看。
我正在使用 angular 2 和 asp.net 5 mvc 6 创建我的第一个 spa 应用程序。它将是一个使用基于 cookie 的身份验证的简单应用程序。我知道我应该使用令牌,但我不需要将身份验证传递给其他应用程序,因此 cookie 就足够了。 我还决定使用基于权限的授权。数据库架构如下所示:
User ---> Role <----> Permission
我的 api return 代码 401 当用户未通过身份验证时代码 403 当他通过身份验证但他没有访问数据的权限时
我已经实现了这部分: schema
但现在我不知道如何处理客户端中的用户凭据和权限,我有一些疑问。我只是需要一些指导。
session设置后如何在认证后将用户数据存储到spa中?有很多选择。每次需要用户数据时,我都可以调用 api,例如用户名、电子邮件或者我可以获取一次并存储在加密的 cookie 或 localStorage 中。
同用户权限。由于当前用户权限使用 *ngIf 之类的指令,我想管理模板中按钮或菜单中链接等的显示。我还可以在 localStorage 中存储用户权限,或者每次更改路由时调用 api 以获得 json,例如:
{ showEditButton: true, showHeader: false }
我将此信息存储在浏览器的本地存储中。我在用户登录时将用户信息(用户名)对象保存在本地存储中,并在我从 api 收到未经授权的响应时或在用户注销时清除它。我建议您使用代币进行 SPA。 SPA应该是无状态的。 api 的令牌授权不仅适用于外部提供商。
这个项目处理以上所有问题:https://github.com/chsakell/aspnet5-angular2-typescript值得一看。