"""Bearer认证上下文骨架;B1不实现JWT验签和用户查询。""" from __future__ import annotations from dataclasses import dataclass from flask import g from dms.common.enums import RoleCode, SecurityLevel @dataclass(frozen=True, slots=True) class AuthContext: user_id: int username: str real_name: str organization_id: int | None organization_name: str | None role_code: RoleCode security_level: SecurityLevel auth_version: int def get_auth_context() -> AuthContext: context = getattr(g, "dms_auth_context", None) if context is None: raise RuntimeError("认证上下文尚未建立") return context