GRBAC
Role-Based Access Control
Install / Use
/learn @ne7ermore/GRBACREADME
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|
