Files
MileageTraker/Web/Attributes/LogOwnerAuthorizeAttribute.cs
T

32 lines
763 B
C#

using System;
using System.Collections.Generic;
using System.Linq;
using System.Security;
using System.Web;
using System.Web.Mvc;
using MileageTraker.Web.DAL;
using MileageTraker.Web.Models;
namespace MileageTraker.Web.Attributes
{
public class LogOwnerAuthorizeAttribute : AuthorizeAttribute
{
protected override bool AuthorizeCore(HttpContextBase httpContext)
{
var authorized = base.AuthorizeCore(httpContext);
if (!authorized)
{
return false;
}
var rd = httpContext.Request.RequestContext.RouteData;
var id = int.Parse(rd.Values["id"].ToString());
var dataService = new DataService();
var log = dataService.GetLog(id);
var userName = httpContext.User.Identity.Name;
return log.User.Username == userName;
}
}
}