- User management
- Role management
- Authentication
- Log in by LDAP
- After logged in, get all privileges based on roles of that user
- Authorization: Separate the "read" and "write" permissions for 1 role, using bitwise. For example:
- 001 (1 in decimal) is "read" permission
- 010 (2 in decimal) is "write" permission
- 100 (4 in decimal) is "delete" permission
- "read" and "write" permission will be "001 | 010 = 011" (011 is 3 in decimal)
- Some other standard features
- config: load config from yaml files
- health check: to check health of SQL
- logging: can use logrus or zap to log, support to switch between logrus or zap
- log tracing by at the middleware the http request and http response