using Microsoft.AspNetCore.Authorization; using Microsoft.AspNetCore.Mvc; using Tiku.Application.Security; namespace Tiku.Api.Controllers; [ApiController] [ApiExplorerSettings(IgnoreApi = true)] [Route("api/_security")] public sealed class SecurityDiagnosticsController( ICurrentUser currentUser, ITenantContext currentTenant) : ControllerBase { [Authorize(Policy = TikuPolicies.AuthenticatedUser)] [HttpGet("authenticated")] [EndpointSummary("诊断已登录用户上下文")] public ActionResult Authenticated() { return Ok(new { currentUser.UserId, currentUser.IsAuthenticated }); } [Authorize(Policy = TikuPolicies.CurrentTenantMember)] [HttpGet("tenant-member")] [EndpointSummary("诊断当前租户成员上下文")] public ActionResult TenantMember() { return Ok(new { currentTenant.TenantId }); } [Authorize(Policy = TikuPolicies.TenantAdmin)] [HttpGet("tenant-admin")] [EndpointSummary("诊断当前租户管理员上下文")] public ActionResult TenantAdmin() { return Ok(new { currentTenant.TenantId }); } }