feat: add api security foundation

This commit is contained in:
xiong
2026-07-26 12:46:42 +08:00
parent f31977ef9a
commit e8b03c57bc
20 changed files with 436 additions and 23 deletions

View File

@@ -0,0 +1,46 @@
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,
ICurrentTenant currentTenant) : ControllerBase
{
[Authorize(Policy = TikuPolicies.AuthenticatedUser)]
[HttpGet("authenticated")]
public ActionResult<object> Authenticated()
{
return Ok(new
{
currentUser.UserId,
currentUser.IsAuthenticated
});
}
[Authorize(Policy = TikuPolicies.CurrentTenantMember)]
[HttpGet("tenant-member")]
public ActionResult<object> TenantMember()
{
return Ok(new
{
currentTenant.TenantId,
currentTenant.Role
});
}
[Authorize(Policy = TikuPolicies.TenantAdmin)]
[HttpGet("tenant-admin")]
public ActionResult<object> TenantAdmin()
{
return Ok(new
{
currentTenant.TenantId,
currentTenant.Role
});
}
}