yavsc/src/Yavsc/AuthorizationHandlers/BillViewHandlers.cs

23 lines
782 B
C#
Raw Normal View History

2017-01-19 12:59:49 +01:00
using System.Security.Claims;
using Microsoft.AspNet.Authorization;
2019-01-26 14:23:53 +00:00
using Yavsc.ViewModels.Auth;
2017-01-19 12:59:49 +01:00
2019-01-26 14:23:53 +00:00
namespace Yavsc.AuthorizationHandlers
2017-01-19 12:59:49 +01:00
{
2017-06-08 00:26:29 +02:00
using Billing;
public class BillViewHandler : AuthorizationHandler<ViewRequirement, IBillable>
2017-01-19 12:59:49 +01:00
{
2017-06-08 00:26:29 +02:00
protected override void Handle(AuthorizationContext context, ViewRequirement requirement, IBillable resource)
2017-01-19 12:59:49 +01:00
{
if (context.User.IsInRole("FrontOffice"))
context.Succeed(requirement);
else if (context.User.Identity.IsAuthenticated)
if (resource.ClientId == context.User.GetUserId())
context.Succeed(requirement);
else if (resource.PerformerId == context.User.GetUserId())
context.Succeed(requirement);
}
}
}