Web frontend for ustackd written in Go using the Beego web framework.
Project to learn golang.org in the context of user lifecycle management.
- End User
- Administrator
- Developer
- User Account
- CRUD
- Lock/Unlock
- Activation
- Reset Password
- Assign/Unassign Groups
- Assign/Unassign Permissions
- Groups
- CRUD
- Assign/Unassign Permissions
- Permissions
- CRUD
A permission is basically nothing more than a group. The user has the permission if he belongs to the group.
The naming scheme for permission groups is the following:
perm.{object}.{verb}
To secure all CRUD operations of user objects we would need to create the following groups:
"perm.users.read"
"perm.users.create"
"perm.users.update"
"perm.users.delete"
Within the ustackweb
project this permissions can then be used as little DSL via:
can["read_users"]
can["create_users"]
can["update_users"]
can["delete_users"]
Please make sure you have Go, Ruby (for Sass), Node.js and npm (for asset management via Bower and Livereload) installed.
-
Setup dependencies
$ make prepare
-
Run the Beego frontend on http://localhost:8080
$ make run
-
Open the Install page to setup some data
$ open http://localhost:8080/install
-
Sign In using the root user (user=admin, pass=admin)
$ open http://localhost:8080/sign_in
-
Livereload and recompile assets
$ make watch
- Bulk editing (users, groups, permissions)
- https://datatables.net vs ng-table ?
- Form builder
- Form validation, action validation
- Flash message across redirect
- Stormpath (commercial)
- Apache Shiro
- Apache Syncope
- ConnId
- Pubcookie Single-Sign-On
See LICENSE.