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 { MatButtonModule } from '@angular/material/button';
|
||||
import { MatCardModule } from '@angular/material/card';
|
||||
@ -119,7 +119,7 @@ export function loadConfig(oidcConfigService: OidcConfigService)
|
||||
})
|
||||
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) =>
|
||||
{
|
||||
@ -144,5 +144,7 @@ export class AppModule
|
||||
|
||||
this.oidcSecurityService.setupModule(config, configResult.authWellknownEndpoints);
|
||||
});
|
||||
|
||||
http.get("/api/account/default-permissions").subscribe((result: string[]) => AuthGuard.defaultPermissions = result);
|
||||
}
|
||||
}
|
||||
|
@ -16,7 +16,8 @@ import {AuthService} from "../../services/auth.service";
|
||||
export class AuthGuard
|
||||
{
|
||||
public static guards: any[] = [];
|
||||
|
||||
public static defaultPermissions: string[];
|
||||
|
||||
static forPermissions(...permissions: string[])
|
||||
{
|
||||
@Injectable()
|
||||
@ -55,7 +56,13 @@ export class AuthGuard
|
||||
}
|
||||
return true;
|
||||
}
|
||||
return false;
|
||||
else
|
||||
{
|
||||
for (let perm of permissions)
|
||||
if (!AuthGuard.defaultPermissions.includes(perm))
|
||||
return false;
|
||||
return true;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
|
Loading…
x
Reference in New Issue
Block a user