Initial commit
This commit is contained in:
@@ -0,0 +1,49 @@
|
||||
package casbin
|
||||
|
||||
import (
|
||||
"fmt"
|
||||
"path/filepath"
|
||||
|
||||
"pet-house.com/core/g"
|
||||
"pet-house.com/core/helper/dir"
|
||||
)
|
||||
|
||||
// Remove del config file
|
||||
func Remove() error {
|
||||
casbinPath := getCasbinPath()
|
||||
if dir.IsExist(casbinPath) && dir.IsFile(casbinPath) {
|
||||
return dir.Remove(casbinPath)
|
||||
}
|
||||
return nil
|
||||
}
|
||||
|
||||
func getCasbinPath() string {
|
||||
return filepath.Join(dir.GetCurrentAbPath(), g.CasbinFileName)
|
||||
}
|
||||
|
||||
// init initialize config file
|
||||
// - initialize casbin's config file as rbac_model.conf name
|
||||
func init() {
|
||||
casbinPath := getCasbinPath()
|
||||
fmt.Printf("casbin rbac_model.conf's path: %s\n\n", casbinPath)
|
||||
if !dir.IsExist(casbinPath) { // casbin rbac_model.conf file
|
||||
var rbacModelConf = []byte(`[request_definition]
|
||||
r = sub, obj, act
|
||||
|
||||
[policy_definition]
|
||||
p = sub, obj, act
|
||||
|
||||
[role_definition]
|
||||
g = _, _
|
||||
|
||||
[policy_effect]
|
||||
e = some(where (p.eft == allow))
|
||||
|
||||
[matchers]
|
||||
m = g(r.sub, p.sub) && keyMatch2(r.obj, p.obj) && (r.act == p.act || p.act == "*")`)
|
||||
_, err := dir.WriteBytes(casbinPath, rbacModelConf)
|
||||
if err != nil {
|
||||
panic(fmt.Errorf("initialize casbin rbac_model.conf file return error: %w ", err))
|
||||
}
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user