https://github.com/node-casbin/session-role-manager
Session based role manager for node-casbin
https://github.com/node-casbin/session-role-manager
access-control auth authorization casbin node-casbin nodejs role-manager session session-management
Last synced: 7 months ago
JSON representation
Session based role manager for node-casbin
- Host: GitHub
- URL: https://github.com/node-casbin/session-role-manager
- Owner: node-casbin
- License: apache-2.0
- Created: 2020-05-14T07:39:59.000Z (about 5 years ago)
- Default Branch: master
- Last Pushed: 2020-06-01T13:11:32.000Z (about 5 years ago)
- Last Synced: 2024-10-14T13:02:10.293Z (8 months ago)
- Topics: access-control, auth, authorization, casbin, node-casbin, nodejs, role-manager, session, session-management
- Language: TypeScript
- Homepage: https://github.com/casbin/node-casbin
- Size: 85.9 KB
- Stars: 3
- Watchers: 2
- Forks: 1
- Open Issues: 1
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
# session-role-manager
[![NPM version][npm-image]][npm-url]
[![NPM download][download-image]][download-url]
[](https://github.com/node-casbin/session-role-manager/releases)[npm-image]: https://img.shields.io/npm/v/session-role-manager.svg?style=flat-square
[npm-url]: https://npmjs.org/package/session-role-manager
[download-image]: https://img.shields.io/npm/dm/session-role-manager.svg?style=flat-square
[download-url]: https://npmjs.org/package/session-role-managerSession Role Manager is the Session-based role manager for node-casbin. With this library, node-casbin can load session-based role hierarchy (user-role mapping) from Casbin policy or save role hierarchy to it. The session is only active in the specified time range.
## Installation
```shell script
# Yarn
yarn add session-role-manager
# NPM
npm install session-role-manager --save
```## Example
```typescript
import { newEnforcer } from 'casbin';
import { SessionRoleManager } from 'session-role-manager';async function app() {
const e = await newEnforcer('examples/rbac_model_with_sessions.conf', 'examples/rbac_policy_with_sessions.csv');// Use our role manager.
const rm = new SessionRoleManager(10);
e.setRoleManager(rm);
await e.buildRoleLinks();
}app();
```