用户与权限
两种身份把人分清楚, 按模块和动作勾选权限, 改完立刻生效, 谁改了权限都留痕。
两种身份: admin 和普通用户
系统里只有两种身份。admin(界面上标为"管理员") 拥有全部权限, 能新建模块、改字段、管用户、看所有数据。普通用户是村干部、网格员、文书等日常用户, 看到什么、能不能改, 全由 admin 在"角色权限"里勾选。
身份不能随便加第三种, 也不需要。所有差异都通过"普通用户 + 分配一个或多个角色"组合出来。比如给妇女主任分配的角色只勾"村民花名册可读 + 计生台账可写", 给党建专干分配的角色只勾"党员名册可写 + 党费可写"; 一个用户可以同时挂多个角色, 权限取这些角色的并集。
系统强制至少保留一个启用状态的 admin 账号, 防止全员锁死。如果你想把唯一的 admin 停用、降级为普通用户或删除, 系统都会拦下来, 提示"系统至少需要保留一个可用的管理员账号"。
admin 默认能看所有, 普通用户按授权
admin 登录后, 左侧菜单是完整的: 模块管理、数据看板、党费缴纳、证明开具、待办任务、文件管理、首页大卡、用户管理、角色权限、操作日志、备份恢复、全局回收站、系统设置……等全部功能都在(具体菜单项以实际部署的版本为准)。
普通用户登录后, 左侧菜单是动态生成的, 只显示 admin 在角色里勾给他的项。没勾的模块, 菜单根本不会出现, 浏览器直接敲网址也进不去, 会被前端拦回首页、后端也会拒绝对应接口。
新建用户
只有 admin 能新建用户。路径: 左侧菜单 用户管理, 左上角绿色 新增用户 按钮。
- 填用户名用于登录, 2-32 位字母/数字/下划线, 建议用拼音或工号, 例如
zhangsan或gw001, 不能和已有用户重复。 - 填姓名真实姓名, 用于操作日志和审计显示, 例如"张三"。
- 填初始密码至少 6 位, 建议用
cunwei2026这种用户记得住的, 用户首次登录会被强制改掉。 - 选择角色单选"普通用户"或"管理员", 默认"普通用户", 给"管理员"此项谨慎。
- 选普通用户时再勾"权限角色"下拉多选, 把这个人挂到一个或多个已建好的角色上(在角色管理里维护); 不选则该账号没有任何模块权限, 登录进去看不到任何业务菜单。
- 点保存账号立刻生效, 把用户名和初始密码告诉本人即可。
强制首次登录改密码
新建的账号、或者被 admin 重置过密码的账号, 第一次登录进系统, 会被强制跳到"个人中心"改密页, 改之前只能看外壳菜单, 点其他功能一律提示"请先修改初始密码后再进行其他操作"。
密码要求: 6-64 位, 且新密码不能和当前密码相同(系统会校验原密码)。改完后当前登录态继续有效, 之后就和正常用户一样了。
系统初始的 admin / admin123 第一次登录也会被强制改密, 改完才能进后台。这是为了防止有人拿默认密码进系统。
禁用用户(留账号但封号)
用户离岗、换岗、暂时停用, 但又不想删掉历史记录(他在操作日志里留下的痕迹要保留), 用停用。
路径: 用户管理 → 在用户那一行点 停用(会弹出"确定停用「XX」吗?停用后该账号将无法登录。"二次确认; 自己无法停用自己的账号, 按钮是禁用状态)。停用后该账号的登录态在下一次请求时就会失效, 再尝试登录会提示"账号已停用, 请联系管理员"。账号信息、历史操作全部保留, 想用了再点"启用"就回来。
| 场景 | 建议操作 |
|---|---|
| 村干部换届, 老干部不再用系统 | 停用, 不删除 |
| 用户离职但要保留历史操作记录 | 停用 |
| 用户号被盗用, 紧急停止 | 停用 + 重置密码 |
| 测试账号, 从没产生过业务数据 | 可以删除 |
删除用户(会先检查有没有留下业务痕迹)
删除是物理删除、不可逆的。点行尾红色 删除, 弹窗"确定彻底删除「姓名」(用户名)吗?该操作不可恢复。如果只是不再使用, 建议改用「停用」。", 点"确定删除"直接执行, 不需要额外输入用户名或验证码。
为了不让历史数据"查无此人", 系统在真正删除前会做几道拦截, 只要中一条就会拒绝并提示改用停用:
| 拦截条件 | 提示文案 |
|---|---|
| 就是当前登录的这个账号 | 不能删除当前登录的账号 |
| 是系统里唯一一个启用状态的 admin | 不能删除唯一的活跃管理员账号 |
| 该账号是某些记录的创建人/修改人 | 该账号下有 N 条记录的创建/修改痕迹,无法删除。如果不再使用,请改用「停用」 |
| 该账号写过走访记录 | 该账号写过 N 条走访记录,无法删除。如果不再使用,请改用「停用」 |
| 该账号有聊天群组或消息 | 该账号在聊天中有 N 个群组和 M 条消息记录,无法删除,请改用停用 |
都没有命中才会真删。删除后操作日志里仍保留这个用户的姓名字符串(只是字符串, 不是账号关联), 事后审计追溯不受影响; 该用户如果当时在线, 下一次请求就会因为账号查不到而被登出。
只要这个账号产生过任何一条业务记录/走访笔记/聊天消息, 系统就会拦住删除, 逼你改用停用——这是故意设计的, 别绕。真正能删掉的通常只有从没正式用过的测试账号。
密码重置
用户忘了密码、密码泄露、或者要更换接手人, 都走重置密码这条路。
- 找到用户路径
用户管理, 定位用户那一行。 - 点重置密码行尾 重置密码 按钮, 弹出输入框"为「姓名」设置新密码(至少 6 位), 该用户下次登录时需再次修改。"。
- 输入新的初始密码6-64 位, 例如
reset2026。 - 确认系统立刻把该用户的密码改成新密码, 打上"下次登录强制改密"标记, 并让该账号所有旧登录态失效(即使之前勾了"记住我"也会被顶掉)。
- 告知本人把新密码当面或电话告知用户, 用户登录后会被强制再改一次。
admin 看不到任何用户的明文密码, 数据库里存的是加盐哈希。重置只能由 admin 操作, 普通用户自己改密走"右上角头像/个人中心 → 修改密码", 且仅在开启了账号密码登录时才能改(单机/无登录模式没有"自己的密码"可改)。
忘记密码怎么办(admin 密码逃生口)
本系统数据全部存在本机, 没有邮件/短信找回密码。如果所有 admin 账号的密码都忘了, 登录页"忘记密码?"链接会弹出应急步骤:
- 关闭本应用包含任务栏托盘里的后台进程。
- 打开数据目录默认
D:\乡村管理系统\data(没 D 盘则在%APPDATA%\cn.village.admin\data)。 - 新建一个空文件放在数据目录顶层, 文件名就叫
RESET-ADMIN-PASSWORD(后缀随意, 新建文本文档改名去掉 .txt 也行)。 - 重新打开应用系统启动时检测到这个标记文件, 会把所有 role=admin 的账号密码统一重置为临时密码
reset123, 并强制下次登录改密; 标记文件用完自动删除, 不会重复触发。 - 登录并改密用
superadmin(或任意管理员账号的用户名) /reset123登录, 立即设置新密码。
只要能碰到数据目录就能触发重置, 所以要保护好这台电脑和数据目录的访问权限。触发一次会在操作日志里留下"admin 密码逃生口触发"这条记录, 事后能查到。
角色管理: 新建 / 编辑 / 删除角色
角色的维护界面在左侧菜单 角色权限, 只有 admin 能进。页面是一张角色表格(角色名称/备注/成员数/权限数/操作), 左上角新建角色按钮, 每行有"编辑""删除"。admin 不是这张表里的一条记录——管理员权限是用户的身份本身自带的, 不需要、也不能通过角色配置。
点"新建角色"或某一行的"编辑", 弹出对话框: 填角色名称(1-20 字)、备注(选填, 最多 100 字), 下方是一整棵权限树, 顶部有"全选/清空/全部展开(收起)"按钮和"已选 N 项"计数, 勾好后点底部保存立即生效。
删除角色时, 如果该角色下还有成员, 系统会拒绝并提示"仍有用户绑定该角色,请先在用户管理中解除"——需要先去用户管理把这些人的"权限角色"改掉或换成别的角色, 才能删掉这个角色。
按模块授权(8 个动作)
权限树里, 按菜单分组列出系统里所有的动态模块(村民花名册、党员名册、低保户、计生台账……)。每个模块右边按 8 个动作分别勾选:
| 动作 | 勾上后用户能做什么 |
|---|---|
查看 | 能进模块、能搜索筛选、能看记录详情; 不勾这一项, 侧边栏里这个模块直接不出现 |
新增 | 能点"新建", 录入新记录 |
编辑 | 能改已有记录, 含单条编辑和批量编辑 |
删除 | 能删记录(进全局回收站, 不直接物理删) |
导入 | 能用 Excel/CSV 批量导入 |
导出 | 能把列表导出成 Excel/CSV |
打印 | 能使用打印功能 |
扫码填写 | 能生成/管理该模块的"扫码填写"收集链接(开关收集、换新二维码), 让村民扫码免登录填表 |
查看是其他动作的前提: 不勾查看, 用户连模块都进不去, 其他动作勾了也没用。例: 给妇女主任的角色勾 村民花名册: 查看; 计生台账: 查看 + 新增 + 编辑 + 导入 + 导出; 其他模块: 全不勾, 她登录后侧边栏只有这两项, 点村民花名册能看不能改, 点计生台账能随便录入。
"党费缴纳"在权限树里也长在模块列表里, 但它是系统内置模块, 没有可配置字段, 动作只有 3 个: 查看 / 新增-录入 / 管理(改/删/配置), 用不上导入、导出、打印、扫码填写这些。
固定功能授权(数据看板 / 待办任务 / 证明开具 / 文件管理)
权限树最上面几项是不随模块增删变化的"固定功能", 各自的动作跟普通模块不一样, 按各自业务拆开:
| 功能 | 动作 | 说明 |
|---|---|---|
| 数据看板 | 查看 | 能进 数据看板 看统计大屏 |
| 待办任务 | 查看 | 能进 待办任务, 看分给自己的任务 |
| 创建任务 | 能新建任务派给自己或别人 | |
| 管理(改/删全部任务) | 能改/删所有人的任务, 不只是自己创建的 | |
| 证明开具 | 查看可用模板 | 能进 证明开具, 看到已有的证明模板 |
| 生成证明文件 | 能选模板、选记录, 生成 docx 证明 | |
| 管理模板(扫描/新建/改/删) | 能维护证明模板本身 | |
| 文件管理 | 查看与下载 | 能进 文件管理 看文件列表并下载 |
| 上传与新建 | 能上传文件、新建文件夹 | |
| 删除 | 能删文件/文件夹 |
用户管理、角色权限、操作日志、备份恢复、全局回收站、系统设置、模块管理这几项永远只对 admin 开放, 角色权限树里不出现, 没有授权选项。
权限变更立即生效
admin 在 角色权限 点保存的那一刻, 后端立即更新缓存。受影响的用户:
- 正在使用的页面下一次操作(点按钮、翻页、保存)就走新权限, 没权限的操作会被后端拦下来。
- 侧边栏用户刷新页面或切换路由后, 菜单按新权限重新渲染, 被收走的菜单消失, 新增的出现。
- 已经打开的详情原页面不会自动跳走, 但保存按钮已经无效, 强行提交会得到"无权访问"。
没有"延迟生效"、"次日生效"这种坑, 也不需要重启服务。
如果你一次性把好几个模块从"可写"改成"可读", 正在录入的用户可能下一次点保存就提示"无权访问", 已经填的内容没保存就丢了。改之前在群里吼一声, 让大家先保存。
审计: 配合操作日志查谁改了权限
所有用户和权限的变更动作都写进操作日志。路径: 左侧 操作日志, 顶部筛选 操作类型 = 配置变更, 再按时间和操作人过滤。
能查到的事件包括:
| 事件 | 日志里记什么 |
|---|---|
| 新建用户 | 谁、什么时间、新用户名、初始角色 |
| 禁用 / 启用用户 | 谁、什么时间、目标用户、新状态 |
| 删除用户 | 谁、什么时间、被删用户名 |
| 重置密码 | 谁、什么时间、目标用户(不记密码内容) |
| 角色权限修改 | 谁、什么时间、改了哪个模块的什么状态(旧值 → 新值) |
日志不可删除, 普通用户进不去这一页。万一系统里数据被人乱改, 先查操作日志锁定时间点, 再去备份恢复把出事之前的备份还原回来。两者配合, 责任就能落到人头上。