mirror of
https://github.com/zoriya/Kyoo.git
synced 2025-07-09 03:04:20 -04:00
Adding a default permission system
This commit is contained in:
parent
b9b5039e82
commit
c0243c8404
@ -1,4 +1,4 @@
|
|||||||
import {HTTP_INTERCEPTORS, HttpClientModule} from '@angular/common/http';
|
import {HTTP_INTERCEPTORS, HttpClient, HttpClientModule} from '@angular/common/http';
|
||||||
import {APP_INITIALIZER, ChangeDetectorRef, NgModule} from '@angular/core';
|
import {APP_INITIALIZER, ChangeDetectorRef, NgModule} from '@angular/core';
|
||||||
import { MatButtonModule } from '@angular/material/button';
|
import { MatButtonModule } from '@angular/material/button';
|
||||||
import { MatCardModule } from '@angular/material/card';
|
import { MatCardModule } from '@angular/material/card';
|
||||||
@ -119,7 +119,7 @@ export function loadConfig(oidcConfigService: OidcConfigService)
|
|||||||
})
|
})
|
||||||
export class AppModule
|
export class AppModule
|
||||||
{
|
{
|
||||||
constructor(private oidcSecurityService: OidcSecurityService, private oidcConfigService: OidcConfigService)
|
constructor(private oidcSecurityService: OidcSecurityService, private oidcConfigService: OidcConfigService, http: HttpClient)
|
||||||
{
|
{
|
||||||
this.oidcConfigService.onConfigurationLoaded.subscribe((configResult: ConfigResult) =>
|
this.oidcConfigService.onConfigurationLoaded.subscribe((configResult: ConfigResult) =>
|
||||||
{
|
{
|
||||||
@ -144,5 +144,7 @@ export class AppModule
|
|||||||
|
|
||||||
this.oidcSecurityService.setupModule(config, configResult.authWellknownEndpoints);
|
this.oidcSecurityService.setupModule(config, configResult.authWellknownEndpoints);
|
||||||
});
|
});
|
||||||
|
|
||||||
|
http.get("/api/account/default-permissions").subscribe((result: string[]) => AuthGuard.defaultPermissions = result);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -16,6 +16,7 @@ import {AuthService} from "../../services/auth.service";
|
|||||||
export class AuthGuard
|
export class AuthGuard
|
||||||
{
|
{
|
||||||
public static guards: any[] = [];
|
public static guards: any[] = [];
|
||||||
|
public static defaultPermissions: string[];
|
||||||
|
|
||||||
static forPermissions(...permissions: string[])
|
static forPermissions(...permissions: string[])
|
||||||
{
|
{
|
||||||
@ -55,7 +56,13 @@ export class AuthGuard
|
|||||||
}
|
}
|
||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
for (let perm of permissions)
|
||||||
|
if (!AuthGuard.defaultPermissions.includes(perm))
|
||||||
return false;
|
return false;
|
||||||
|
return true;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
Loading…
x
Reference in New Issue
Block a user