34 lines
1006 B
C#
34 lines
1006 B
C#
using ASPNET.StarterKit.BusinessLogicLayer;
|
|
using System;
|
|
using System.Collections.Generic;
|
|
using System.IO;
|
|
using System.Linq;
|
|
using System.Runtime.Caching;
|
|
using System.Web;
|
|
|
|
/// <summary>
|
|
/// Summary description for PageSecurity
|
|
/// </summary>
|
|
public class PageSecurity : System.Web.UI.Page
|
|
{
|
|
|
|
public static void CheckSecurity()
|
|
{
|
|
string pagename = Path.GetFileName(HttpContext.Current.Request.Url.AbsolutePath);
|
|
ObjectCache cache = MemoryCache.Default;
|
|
string userName = HttpContext.Current.User.Identity.Name;
|
|
MembershipAppUser u = cache[userName] as MembershipAppUser;
|
|
ControlSecurity c = ControlSecurity.GetPageSecurity(pagename);
|
|
int securitylevel = 0;
|
|
if (u != null)
|
|
securitylevel = u.SecurityLevel;
|
|
if (c != null)
|
|
{
|
|
if (!c.CanViewPage(securitylevel))
|
|
{
|
|
HttpContext.Current.Server.TransferRequest("~/TimeTracker/Dashboard.aspx");
|
|
}
|
|
}
|
|
}
|
|
}
|