Skip to content

ne7ermore/gRBAC

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

32 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

RBAC

Role-Based Access Control, godoc link to HERE

Packages

Usage

Install packge

go get github.com/ne7ermore/gRBAC

Import

import (
    auth "github.com/ne7ermore/gRBAC"
)

Use

func createPerm() {
    p, err := auth.CreatePermisson("p1", "form1:abc:view")
    if err != nil {
        panic(err)
    }
    // handle p
}

func createRole() {
    r, err := auth.CreateRole("role1")
    if err != nil {
        panic(err)
    }

    // add permission
    if _, err := auth.Assign(r.Id.Hex(), p.Id.Hex()); err != nil {
        panic(err)
    }
}

func createUser() {
    u, err := auth.CreateUser("use1")
    if err != nil {
        panic(err)
    }

    // add role
    if _, err := auth.AddRole(u.Id.Hex(), r.Id.Hex()); err != nil {
        panic(err)
    }
}

We use MongoDB in this Project, and u can edit db settings by urself

API

Function Description
CreatePermisson Create a new permisson
GetPerm get permission by id
UpdatePerm update permission by id
CreateRole Create a new role
GetRole Get role by id
Assign Assign a permission to a role
Revoke Revoke a permission from the role
CreateUser Create a new user
GetUser Get one user by mongid
GetUserByUid Get one user by Uid
AddRole Add one role to a user
DelRole Delete one role from the user
IsPrmitted A user has a permission or not
IsRolePermitted A role has a permission or not
GetAllPerms Get all permissions
GetAllRoles Get all roles
GetAllUsers Get all users
GetRoleByName Get a role by role name
GetPermCount Get perms count
GetRolesCount Get roles count
GetUsersCount Get users count