feat: 实现用户认证与权限管理系统

- 添加用户、角色、权限等数据模型
- 实现JWT认证中间件和密码加密
- 添加用户注册、登录、个人信息管理接口
- 实现前端认证上下文和受保护路由
- 添加登录历史记录和操作日志功能
- 提供管理员初始化脚本和修复工具
- 实现完整的登录页面和用户管理界面
This commit is contained in:
zhang1106
2025-12-25 10:48:35 +08:00
parent 568f9c7db8
commit a911d02999
29 changed files with 4309 additions and 154 deletions
@@ -0,0 +1,34 @@
import React from 'react';
import { Navigate, useLocation } from 'react-router-dom';
import { Spin } from 'antd';
import { useAuth } from '../context/AuthContext';
const ProtectedRoute = ({ children, requiredPermission }) => {
const { user, token, loading, initialized } = useAuth();
const location = useLocation();
if (!initialized) {
return (
<div style={{
display: 'flex',
justifyContent: 'center',
alignItems: 'center',
height: '100vh'
}}>
<Spin size="large" tip="加载中..." />
</div>
);
}
if (!token) {
return <Navigate to="/login" state={{ from: location }} replace />;
}
if (requiredPermission && !user) {
return <Navigate to="/" replace />;
}
return children;
};
export default ProtectedRoute;