19 lines
543 B
C#
19 lines
543 B
C#
|
using Microsoft.AspNetCore.Mvc;
|
|||
|
using Microsoft.AspNetCore.Mvc.Filters;
|
|||
|
using System.Net;
|
|||
|
|
|||
|
namespace Mirea.Api.Endpoint.Common.Attributes;
|
|||
|
|
|||
|
public class LocalhostAttribute : ActionFilterAttribute
|
|||
|
{
|
|||
|
public override void OnActionExecuting(ActionExecutingContext context)
|
|||
|
{
|
|||
|
var ip = context.HttpContext.Connection.RemoteIpAddress;
|
|||
|
if (ip == null || !IPAddress.IsLoopback(ip))
|
|||
|
{
|
|||
|
context.Result = new UnauthorizedResult();
|
|||
|
return;
|
|||
|
}
|
|||
|
base.OnActionExecuting(context);
|
|||
|
}
|
|||
|
}
|