https://github.com/lanaqi-opensource/react-security-router
React 纯前端路由级别控制的安全框架
https://github.com/lanaqi-opensource/react-security-router
react react-router react-security security-router
Last synced: 4 months ago
JSON representation
React 纯前端路由级别控制的安全框架
- Host: GitHub
- URL: https://github.com/lanaqi-opensource/react-security-router
- Owner: lanaqi-opensource
- Created: 2025-02-25T03:42:52.000Z (12 months ago)
- Default Branch: main
- Last Pushed: 2025-05-16T02:33:13.000Z (9 months ago)
- Last Synced: 2025-08-24T15:10:33.573Z (6 months ago)
- Topics: react, react-router, react-security, security-router
- Language: TypeScript
- Homepage: https://www.npmjs.com/package/@lanaqi/rsr
- Size: 42 KB
- Stars: 1
- Watchers: 0
- Forks: 0
- Open Issues: 1
-
Metadata Files:
- Readme: README.md
Awesome Lists containing this project
README
# React Security Router
React 安全路由器
# 框架说明
rsr 是 react security router 的简写,一个基于 react router 实现纯前端路由级别控制的安全框架。
功能简介:
- 认证与授权
- 权限检测
- 二次签证(签名:如要求再次输入密码等)
- 等等
# 版本兼容
注意:目前只兼容 react router v6 & v7 版本,其它的版本,暂时不考虑兼容。
# 简单例子
``` tsx
export default withSecurityBlocker(Root, bundler => {
return bundler
.context(builder => {
return builder
// 可选层级权限
// .hierarchy('superadmin>admin;admin>users;users>guest')
.resource(rb => rb.patterns('/login', '/logout', '/denied', '/signature').anonymous().build())
.resource(rb => rb.patterns('/sheet').permissions('admin').signatured().build())
.resource(rb => rb.patterns('/*').authenticated().build())
.build();
})
.manager(builder => {
return builder
.behave({
notAuthenticationPath: '/login',
notSignaturePath: '/signature',
accessDeniedPath: '/denied',
})
.build();
})
// .addons()
.build()
});
```
# 其它例子
基于 Modern.js 的例子:https://github.com/lanaqi-opensource/rsr-demo
基于 react-router-dom 的例子:https://github.com/lanaqi-opensource/rsr6-demo