forked from xiongyuxing/tiku-backend.net
47 lines
1.1 KiB
C#
47 lines
1.1 KiB
C#
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
|
|
});
|
|
}
|
|
}
|