# 管理端使用说明 管理端入口为 `/admin`。未认证请求会返回 `401`,不会展示任何选民、候选人、计票所或区域数据。 ## 身份配置 主站使用 ASP.NET Core Identity 保存本地用户名、密码哈希、失败次数、锁定时间与安全戳;浏览器管理端使用 `__Host-election-auth` 安全 Cookie。登录入口是 `/account/login`,退出使用 `POST /account/logout`。 首次部署时,先执行数据库迁移,再通过用户机密或环境变量提供一次性的首个系统管理员信息: ```powershell dotnet user-secrets set "Bootstrap:SystemAdministrator:UserName" "admin" --project src/ElectionSystem.Api dotnet user-secrets set "Bootstrap:SystemAdministrator:DisplayName" "系统管理员" --project src/ElectionSystem.Api dotnet user-secrets set "Bootstrap:SystemAdministrator:Password" "替换为至少12位的高强度密码" --project src/ElectionSystem.Api ``` 应用启动后会创建该账号并授予无地域绑定的 `SystemAdministrator`。确认首次登录成功后,立即删除密码机密: ```powershell dotnet user-secrets remove "Bootstrap:SystemAdministrator:Password" --project src/ElectionSystem.Api ``` 此后在“本地用户”页面创建、停用、恢复及重置其他账号密码,再在“地域角色”页面授权业务范围。停用或重置密码会更新安全戳,使既有 Cookie 会话失效。 ## 页面职责 - `/admin/dashboard`:仅显示当前授权范围内的汇总。 - `/admin/regions` 与 `/admin/region-import`:系统管理员导入 AreaCity 四级目录;村/社区使用本地确认目录。 - `/admin/voters` 与 `/admin/voter-import`:按地域维护选民、预校验并确认 Excel 导入。 - `/admin/candidates`:维护候选人资料和服务端允许的状态转换。 - `/admin/roles`:系统管理员授予地域管理员、计票员或监督员角色。 - `/admin/counting-stations`:建立辖区计票所,并向已获地域角色的人员分配具体计票所。 管理端用于第二阶段基础资料与授权操作。选举活动、匿名投票、线下双录计票和公开结果将在后续阶段接入相应菜单,且不会通过本阶段页面绕过其规则。