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); } }