ASP.NET Core Spa Angular模板与IdentityServer4相结合,用于身份验证/授权

时间:2017-05-19 13:57:18

标签: asp.net angular asp.net-core asp.net-identity identityserver4

有人可以给我一个简短的解释,说明如何使用AspNetCore Angular Spa模板将ASP.NET核心身份与ASP.NET Core Angular 4应用程序结合使用。

我完全将IdentityServer4设置为自己的项目,并使用ASP.NET身份。我使用IdentityServer4 UI创建了一些用户。我现在在数据库的AspNet表中看到这些用户。

我将ASP.NET Core Angular 4应用程序添加为IdentityServer4的客户端。这样它就可以与之交谈。我在HomeController中添加了[Authorize]属性,因此除非已登录,否则无法访问Angular 4页面。用户将自动轻触到IdentityServer4进行登录。登录后,他们会回到Angular UI。

现在我想进一步说这个用户只能访问这个(授权)。假设我向数据库中的一个用户添加了一堆声明。 Angular 4中的服务调用Api来获取数据。我将这样的属性添加到我的api中的一个方法中:

[Authorize(Policy = "Employees")]

当Angular 4服务使用http.get调用此方法时,我无法访问它。我相信这是因为Angular 4对此用户声称的内容一无所知。有没有办法合并所有这些,所以它工作或我卡在前端与oidc-client进行所有身份验证/授权。

我应该使用基于角色的授权吗? 基于声明的授权?什么最适合Api和Angular前端?

0 个答案:

没有答案