MCPcopy
hub / github.com/apache/casbin / InitWithModelAndAdapter

Method InitWithModelAndAdapter

enforcer.go:163–182  ·  view source on GitHub ↗

InitWithModelAndAdapter initializes an enforcer with a model and a database adapter.

(m model.Model, adapter persist.Adapter)

Source from the content-addressed store, hash-verified

161
162// InitWithModelAndAdapter initializes an enforcer with a model and a database adapter.
163func (e *Enforcer) InitWithModelAndAdapter(m model.Model, adapter persist.Adapter) error {
164 e.adapter = adapter
165
166 e.model = m
167 e.model.PrintModel()
168 e.fm = model.LoadFunctionMap()
169
170 e.initialize()
171
172 // Do not initialize the full policy when using a filtered adapter
173 fa, ok := e.adapter.(persist.FilteredAdapter)
174 if e.adapter != nil && (!ok || ok && !fa.IsFiltered()) {
175 err := e.LoadPolicy()
176 if err != nil {
177 return err
178 }
179 }
180
181 return nil
182}
183
184func (e *Enforcer) initialize() {
185 e.rmMap = map[string]rbac.RoleManager{}

Callers 2

NewEnforcerFunction · 0.95
InitWithAdapterMethod · 0.95

Calls 5

initializeMethod · 0.95
LoadPolicyMethod · 0.95
LoadFunctionMapFunction · 0.92
PrintModelMethod · 0.80
IsFilteredMethod · 0.65

Tested by

no test coverage detected