Browse Source

Roles fixed

pull/1/head
Sebastian 9 years ago
parent
commit
d9a569d7d0
  1. 8
      src/Squidex.Core/Identity/SquidexRoles.cs
  2. 9
      src/Squidex/Config/Identity/IdentityUsage.cs
  3. 2
      src/Squidex/Controllers/UI/Account/AccountController.cs
  4. 1
      src/Squidex/Startup.cs
  5. 2
      src/Squidex/app/shared/services/auth.service.ts

8
src/Squidex.Core/Identity/SquidexRoles.cs

@ -10,12 +10,12 @@ namespace Squidex.Core.Identity
{ {
public static class SquidexRoles public static class SquidexRoles
{ {
public const string Administrator = "administrator"; public const string Administrator = "ADMINISTRATOR";
public const string AppOwner = "app-owner"; public const string AppOwner = "APP-OWNER";
public const string AppEditor = "app-editor"; public const string AppEditor = "APP-EDITOR";
public const string AppDeveloper = "app-developer"; public const string AppDeveloper = "APP-DEVELOPER";
} }
} }

9
src/Squidex/Config/Identity/IdentityUsage.cs

@ -85,6 +85,15 @@ namespace Squidex.Config.Identity
return app; return app;
} }
public static IApplicationBuilder UseAdminRole(this IApplicationBuilder app)
{
var roleManager = app.ApplicationServices.GetRequiredService<RoleManager<IdentityRole>>();
roleManager.CreateAsync(new IdentityRole { Name = SquidexRoles.Administrator, NormalizedName = SquidexRoles.Administrator }).Wait();
return app;
}
public static IApplicationBuilder UseMyApiProtection(this IApplicationBuilder app) public static IApplicationBuilder UseMyApiProtection(this IApplicationBuilder app)
{ {
const string apiScope = Constants.ApiScope; const string apiScope = Constants.ApiScope;

2
src/Squidex/Controllers/UI/Account/AccountController.cs

@ -208,7 +208,7 @@ namespace Squidex.Controllers.UI.Account
private Task<bool> MakeAdminAsync(IdentityUser user, bool isFirst) private Task<bool> MakeAdminAsync(IdentityUser user, bool isFirst)
{ {
if (isFirst) if (!isFirst)
{ {
return Task.FromResult(true); return Task.FromResult(true);
} }

1
src/Squidex/Startup.cs

@ -121,6 +121,7 @@ namespace Squidex
identityApp.UseMyIdentity(); identityApp.UseMyIdentity();
identityApp.UseMyIdentityServer(); identityApp.UseMyIdentityServer();
identityApp.UseAdminRole();
identityApp.UseMyApiProtection(); identityApp.UseMyApiProtection();
identityApp.UseMyGoogleAuthentication(); identityApp.UseMyGoogleAuthentication();
identityApp.UseStaticFiles(); identityApp.UseStaticFiles();

2
src/Squidex/app/shared/services/auth.service.ts

@ -32,7 +32,7 @@ export class Profile {
} }
public get isAdmin(): boolean { public get isAdmin(): boolean {
return this.user.profile['role'] === 'administrator'; return this.user.profile['role'].toLowerCase() === 'administrator';
} }
public get token(): string { public get token(): string {

Loading…
Cancel
Save