Files
mixtape/zero.Core/Auth/ZeroAuthorizeAttribute.cs
T
2020-04-10 15:47:29 +02:00

49 lines
1.2 KiB
C#

using Microsoft.AspNetCore.Mvc;
using Microsoft.AspNetCore.Mvc.Authorization;
using Microsoft.AspNetCore.Mvc.Filters;
using System;
using System.Threading.Tasks;
namespace zero.Core.Auth
{
public class ZeroAuthorizeAttribute : TypeFilterAttribute
{
public ZeroAuthorizeAttribute(string name) : base(typeof(ZeroAuthorizeFilter))
{
Arguments = new object[] { name };
}
}
public class ZeroAuthorizeFilter : AuthorizeFilter
{
string Name { get; set; }
public ZeroAuthorizeFilter(string name)
{
Name = name;
}
//public ZeroAuthorizeFilter(IAuthorizationPolicyProvider provider)
// : base(provider, new[] { new AuthorizeData(Constants.AzureAdPolicy) }) { }
public override async Task OnAuthorizationAsync(AuthorizationFilterContext context)
{
await Task.Delay(0);
//await base.OnAuthorizationAsync(context);
Console.WriteLine("zeroauthorize: " + Name);
context.Result = new AcceptedResult();
//context.Result = new ForbidResult();
//await base.OnAuthorizationAsync(context);
//var username = context.HttpContext.User.Identity.Name;
//Console.WriteLine($"{username} just logged in!");
}
}
}