管理员用户表
admin_user
- id
- username
- password
- last_login_at
创建第一个管理员
方案:
- 命令行工具 (golang 需要编译,提供一个命令行工具麻烦)
- 网页接口 (不安全)
- 自动内置一个管理员,服务启动时(或者打开登录页时)判断如果没有管理员,就自动创建一个。登录后修改密码。
综合来看,第三种方案更合适。
管理后台 TODO 清单
- done: 登录接口
- done: 新增默认管理员
- done: 生成 token
- done: golang gin token 校验 middleware
- done: currentUser 接口,获取用户信息
- done: 前端请求 header 加上 jwt token
- done: 退出登录
- done: 登录用户默认头像
- done: 后台管理员列表页
- 修改管理员密码
- 新增管理员
- done: 显示最后登录时间
golang gin 密码加密存储方法
https://dev.to/techschoolguru/how-to-securely-store-passwords-3cg7
login 接口
对应 antd pro v5 中 login 接口返回的数据结构定义:
type LoginResult = {
status?: string;
type?: string;
currentAuthority?: string;
};
golang gin 中需返回:
c.JSON(http.StatusOK, gin.H{
"status": "ok",
})
注意:这里没有使用 success 字段。
退出登录
> grep outLogin -r src/
src/components/RightContent/AvatarDropdown.tsx:import { outLogin } from '@/services/ant-design-pro/api';
src/components/RightContent/AvatarDropdown.tsx: await outLogin();
将调用接口退出登录,改为清空本地 local storage 中的 token。
//await outLogin();
localStorage.setItem('token', "");
微信关注我哦 👍
我是来自山东烟台的一名开发者,有感兴趣的话题,或者软件开发需求,欢迎加微信 zhongwei 聊聊, 查看更多联系方式