|
|
- package casbins
-
- import (
- "fmt"
- "github.com/casbin/casbin/v2"
- xormadapter "github.com/casbin/xorm-adapter/v2"
- "log"
- "strings"
- "testing"
- )
-
- func TestGetEnforcer(t *testing.T) {
-
- driveSource := fmt.Sprintf("server=%s;database=%s;user id=%s;password=%s;port=%d;encrypt=disable",
- "127.0.0.1", "GAAS_MOM", "sa", "Leit2020", 1433)
-
- a, err := xormadapter.NewAdapter("mssql", driveSource, true)
- if err != nil {
- log.Printf("连接数据库错误: %v", err)
- return
- }
- e, err := casbin.NewEnforcer("D:\\GoWrok\\src\\leit.com\\LAPP_LF_MOM_BACKEND\\conf\\rbac_model.conf", a)
- if err != nil {
- log.Printf("casbin初始化: %v", err)
- return
- }
-
- if err = e.LoadPolicy(); err == nil {
-
- }
- fmt.Println(err)
- //ok,err:=e.AddPolicy("test222", "/admin/base/person/checklogin/{personId}/{workPlaceNr}", "GET")
- //if err !=nil{
- // log.Printf("AddPolicy错误: %v", err)
- //}
- //if ok{
- // log.Printf("AddPolicy添加成功")
- //}
- ok2,err:=e.Enforce("目检", "/admin/base/person/checklogin/1/1", "GET")
- fmt.Println(ok2)
- if !ok2{
- fmt.Println("权限不通过")
- }else{
- fmt.Println("权限通过")
- }
-
- }
-
- func Test2(t *testing.T) {
- if strings.Contains("/public/uploadfile/admin.jpg","/public/uploadfile") {
- fmt.Println("权限通过")
- }else{
- fmt.Println("权限不通过")
- }
-
- }
-
- func Test(t *testing.T) {
- rutes := []string{"/sysMenu","/user/getuserinfo","/public/uploadfile"}
- ok := IsContain(rutes,"/public/uploadfile/admin.jpg")
- if !ok {
- fmt.Println("权限不通过")
- }else{
- fmt.Println("权限通过")
- }
-
- }
- func IsContain(items []string, item string) bool {
- for _, eachItem := range items {
- if eachItem == item {
- return true
- }
- }
- return false
- }
|