casbin / casbin-hub

The hub for Casbin
https://dashboard.casbin.com
Apache License 2.0
87 stars 46 forks source link
access-control casbin dashboard permission rbac web

Casbin-Hub

Casbin-Hub is the official web UI (admin portal) for Casbin models and policies. A security administrator can use it to view & edit Casbin models and policy rules.

Demo

https://hub.casbin.com

Architecture

Casbin-Hub contains 2 parts:

Name Description Language Source code
Frontend Web frontend UI for Casbin-Hub Javascript + React + Ant Design https://github.com/casbin/casbin-hub/tree/master/web
Backend RESTful API backend for Casbin-Hub Golang + Beego + MySQL https://github.com/casbin/casbin-hub

Installation

go get github.com/casbin/casbin-hub

Casbin-Hub will store its metadata in a MySQL database named: casbin_metadata, will create it if not existed. The DB connection string can be specified at: https://github.com/casbin/casbin-hub/blob/master/conf/app.conf

Casbin-forum provide a way to sign up using Github account, so you may have to get your own GithubAuthClientID, GithubAuthClientSecret first.

You could get them by clicking on this url: https://github.com/settings/developers , You should set Homepage URL to fit your own domain address, for local testing, sethttp://localhost:3000. And set the Authorization callback URL, the same domain address as Homepage URL, for local testing, sethttp://localhost:3000.

Change your own GithubAuthClientID, GithubAuthClientSecret in conf/app.conf, web/src/conf.js.

dataSourceName = root:123@tcp(localhost:3306)/

Casbin-Hub uses XORM to connect to DB, so all DBs supported by XORM can also be used.

go run main.go
cd web
npm install
npm start

http://localhost:3030/