# 2-7 Auth Profile Access Management UI v1

## Goal

修复登录/注册参数口径，并把账号菜单、个人信息、管理员目录授权、普通用户分享管理收口为一套清晰的授权管理体验。

## Scope

- 登录只接受邮箱或用户名 + 密码。
- 注册必须填写邮箱、用户名、密码。
- `/admin/access-policy` 保留给管理员，包含目录授权和分享管理。
- `/user/access-policy` 面向普通用户，只展示分享管理。
- 账号三点菜单改为轻菜单，个人信息进入独立弹窗。

## Checklist

- [x] 注册表单恢复独立邮箱与用户名字段，payload 明确传 `email` 和 `name`。
- [x] Rust gateway 仅在 `signIn` 且输入不是邮箱时解析用户名；`signUp` 缺邮箱直接返回清晰错误。
- [x] 账号菜单显示 `个人信息`、`授权管理`、`退出登录`，个人信息弹窗支持复制用户 ID。
- [x] 新增 `/user/access-policy` route，普通用户访问分享管理；管理员入口继续使用 `/admin/access-policy`。
- [x] 重设计授权管理页面：普通字段优先，JSON 调试信息折叠显示。
- [x] 补 Rust 单测与浏览器 smoke：注册字段、用户名登录、个人信息弹窗、管理员/普通用户授权页入口。

## Verification

- `cargo test --manifest-path rust/Cargo.toml -p mnote-web auth_api_resolves_username_before_convex_sign_in`
- `cargo test --manifest-path rust/Cargo.toml -p mnote-web auth_entry_uses_mnote_web_login_ui_when_compat_enabled`
- `cargo test --manifest-path rust/Cargo.toml -p mnote-web admin_access_policy_page_renders_admin_controls`
- `cargo test --manifest-path rust/Cargo.toml -p mnote-web user_access_policy_entry_renders_user_share_management`
- 浏览器 smoke：`node scripts/task489-auth-profile-access-ui-smoke.js` 验证 `/auth`、账号菜单、`/admin/access-policy`、`/user/access-policy`。
- 提交前运行 `codegraph sync .` 与 `codegraph status .`。
