https://github.com/aasif-iqbal/role-based-access-control
RBAC (Role-Based Access Control) is a security model used to manage user permissions by assigning roles to users. Each role has a set of predefined permissions, and users inherit these permissions based on their assigned roles.
https://github.com/aasif-iqbal/role-based-access-control
expressjs javascript joi-validation jwt-authentication middleware mongo moongose rest-api tyoescript
Last synced: 20 days ago
JSON representation
RBAC (Role-Based Access Control) is a security model used to manage user permissions by assigning roles to users. Each role has a set of predefined permissions, and users inherit these permissions based on their assigned roles.
- Host: GitHub
- URL: https://github.com/aasif-iqbal/role-based-access-control
- Owner: aasif-iqbal
- Created: 2024-12-17T20:12:10.000Z (5 months ago)
- Default Branch: main
- Last Pushed: 2025-01-13T17:01:20.000Z (4 months ago)
- Last Synced: 2025-04-12T06:59:40.250Z (20 days ago)
- Topics: expressjs, javascript, joi-validation, jwt-authentication, middleware, mongo, moongose, rest-api, tyoescript
- Language: TypeScript
- Homepage:
- Size: 99.6 KB
- Stars: 0
- Watchers: 1
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
Awesome Lists containing this project
README
# Role Based Access Control
RBAC (Role-Based Access Control) is a security model used to manage user permissions by assigning roles to users. Each role has a set of predefined permissions, and users inherit these permissions based on their assigned roles. This approach simplifies permission management and ensures that users can access only the resources they are authorized to use.In short:
- Roles define permissions.
- Users are assigned to roles.
- Access is granted based on the roles.---
## How to start project
1. git clone
2. cd backend
- npm install
- npm install typescript ts-node @types/node --save-dev
- npm run build
- npm start
- npm run start:dev (nodemon)---
## Project Directory Structure
```
βββ πbackend
βββ πsrc
βββ app.ts
βββ πconfig
βββ db.ts
βββ πcontrollers
βββ categories.ts
βββ comments.ts
βββ likes.ts
βββ permissions.ts
βββ posts.ts
βββ roles.ts
βββ routePermissions.ts
βββ userPermissions.ts
βββ users.ts
βββ πhelpers
βββ routePermissionHelper.ts
βββ userPermissionHelper.ts
βββ index.ts
βββ πmiddlewares
βββ authenticate.ts
βββ checkPermission.ts
βββ onlyAdminAccess.ts
βββ πvalidators
βββ category.ts
βββ comment.ts
βββ like.ts
βββ login.ts
βββ permission.ts
βββ post.ts
βββ role.ts
βββ routePermissions.ts
βββ user.ts
βββ userPermission.ts
βββ πmodels
βββ categories.ts
βββ comments.ts
βββ likes.ts
βββ permissions.ts
βββ posts.ts
βββ roles.ts
βββ router-permissions.ts
βββ user-permissions.ts
βββ users.ts
βββ πroutes
βββ category.ts
βββ comment.ts
βββ index.ts
βββ like.ts
βββ permission.ts
βββ post.ts
βββ role.ts
βββ routePermissions.ts
βββ user.ts
βββ userPermissions.ts
βββ πservices
βββ authService.ts
βββ mailService.ts
βββ πtypes
βββ authenticated-request.ts
βββ express.d.ts
βββ πutils
βββ getRoutes.ts
βββ interfaces.d.ts
βββ .env
βββ .env-example
βββ .gitignore
βββ nodemon.json
βββ package-lock.json
βββ package.json
βββ tsconfig.json
```