File tree 2 files changed +16
-7
lines changed
2 files changed +16
-7
lines changed Original file line number Diff line number Diff line change @@ -129,6 +129,13 @@ export class CoreEnforcer {
129
129
return < RoleManager > this . rmMap . get ( 'g' ) ;
130
130
}
131
131
132
+ /**
133
+ * getNamedRoleManager gets role manager by name.
134
+ */
135
+ public getNamedRoleManager ( name : string ) : RoleManager | undefined {
136
+ return this . rmMap . get ( name ) ;
137
+ }
138
+
132
139
/**
133
140
* setEffector sets the current effector.
134
141
*
Original file line number Diff line number Diff line change @@ -292,13 +292,15 @@ export class Enforcer extends ManagementEnforcer {
292
292
const q = [ name ] ;
293
293
let n : string | undefined ;
294
294
while ( ( n = q . shift ( ) ) !== undefined ) {
295
- const role = await this . getRoleManager ( ) . getRoles ( n , ...domain ) ;
296
- role . forEach ( ( r ) => {
297
- if ( ! res . has ( r ) ) {
298
- res . add ( r ) ;
299
- q . push ( r ) ;
300
- }
301
- } ) ;
295
+ for ( const rm of this . rmMap . values ( ) ) {
296
+ const role = await rm . getRoles ( n , ...domain ) ;
297
+ role . forEach ( ( r ) => {
298
+ if ( ! res . has ( r ) ) {
299
+ res . add ( r ) ;
300
+ q . push ( r ) ;
301
+ }
302
+ } ) ;
303
+ }
302
304
}
303
305
304
306
return Array . from ( res ) ;
You can’t perform that action at this time.
0 commit comments