yavsc/Yavsc/AuthorizationHandlers/BillViewHandlers.cs

22 lines
756 B
C#

8 years ago
using System.Security.Claims;
using Microsoft.AspNet.Authorization;
namespace Yavsc.ViewModels.Auth.Handlers
{
7 years ago
using Billing;
public class BillViewHandler : AuthorizationHandler<ViewRequirement, IBillable>
8 years ago
{
7 years ago
protected override void Handle(AuthorizationContext context, ViewRequirement requirement, IBillable resource)
8 years ago
{
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);
}
}
}