MCPcopy Index your code
hub / github.com/apache/casbin / GetImplicitRolesForUser

Method GetImplicitRolesForUser

rbac_api.go:233–253  ·  view source on GitHub ↗

GetImplicitRolesForUser gets implicit roles that a user has. Compared to GetRolesForUser(), this function retrieves indirect roles besides direct roles. For example: g, alice, role:admin g, role:admin, role:user GetRolesForUser("alice") can only get: ["role:admin"]. But GetImplicitRolesForUser("ali

(name string, domain ...string)

Source from the content-addressed store, hash-verified

231// GetRolesForUser("alice") can only get: ["role:admin"].
232// But GetImplicitRolesForUser("alice") will get: ["role:admin", "role:user"].
233func (e *Enforcer) GetImplicitRolesForUser(name string, domain ...string) ([]string, error) {
234 var res []string
235
236 for rm := range e.rmMap {
237 roles, err := e.GetNamedImplicitRolesForUser(rm, name, domain...)
238 if err != nil {
239 return nil, err
240 }
241 res = append(res, roles...)
242 }
243
244 for crm := range e.condRmMap {
245 roles, err := e.GetNamedImplicitRolesForUser(crm, name, domain...)
246 if err != nil {
247 return nil, err
248 }
249 res = append(res, roles...)
250 }
251
252 return res, nil
253}
254
255// GetNamedImplicitRolesForUser gets implicit roles that a user has by named role definition.
256// Compared to GetImplicitRolesForUser(), this function retrieves indirect roles besides direct roles.

Calls 1

Tested by 1