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: about 2 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 (over 1 year ago)
- Default Branch: main
- Last Pushed: 2025-05-16T02:33:13.000Z (about 1 year ago)
- Last Synced: 2025-08-24T15:10:33.573Z (9 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 安全路由器
# 如何安装
```bash
npm add @lanaqi/rsr -S
```
# 框架说明
rsr 是 react security router 的简写,一个基于 react router 实现纯前端路由级别控制的安全框架。
功能简介:
- 认证与授权
- 权限检测
- 二次签证(签名:如要求再次输入密码等)
- 等等
注意: 该框架没有编写相关文档,需要自行看源码(注释)和例子。
# 版本兼容
注意:目前 0.0.3 + 版本只支持 react 19 + ,另外兼容 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