InitWithModelAndAdapter initializes an enforcer with a model and a database adapter.
(m model.Model, adapter persist.Adapter)
| 161 | |
| 162 | // InitWithModelAndAdapter initializes an enforcer with a model and a database adapter. |
| 163 | func (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 | |
| 184 | func (e *Enforcer) initialize() { |
| 185 | e.rmMap = map[string]rbac.RoleManager{} |
no test coverage detected