1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75
   | using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Web.Mvc;
using System.Web.Routing;
 
namespace LivDevis.Filters
{
    public class AuthorizeUnauthentificated : AuthorizeAttribute
    {
        protected override bool AuthorizeCore(HttpContextBase httpContext)
        {
            return (!httpContext.User.Identity.IsAuthenticated);
        }
 
        public override void OnAuthorization(AuthorizationContext filterContext)
        {
            if (filterContext == null)
            {
                throw new ArgumentNullException("filterContext");
            }
 
            if (!AuthorizeCore(filterContext.HttpContext))
            {
                HandleUnauthorizedRequest(filterContext);
            }
        }
 
        protected override void HandleUnauthorizedRequest(AuthorizationContext filterContext)
        {
            filterContext.Result = new RedirectToRouteResult(new RouteValueDictionary
                                                            {
                                                                { "lang", filterContext.RouteData.Values["lang"] },
                                                                { "controller", "DashBoard" },
                                                                { "action", "Index" },
                                                                { "ReturnUrl", filterContext.HttpContext.Request.RawUrl }
                                                            });
 
        }
    }
 
    public class AuthorizeAuthentificated : AuthorizeAttribute
    {
        protected override bool AuthorizeCore(HttpContextBase httpContext)
        {
            return (httpContext.User.Identity.IsAuthenticated);
        }
 
        public override void OnAuthorization(AuthorizationContext filterContext)
        {
            if (filterContext == null)
            {
                throw new ArgumentNullException("filterContext");
            }
 
            if (!AuthorizeCore(filterContext.HttpContext))
            {
                HandleUnauthorizedRequest(filterContext);
            }
        }
 
        protected override void HandleUnauthorizedRequest(AuthorizationContext filterContext)
        {
            filterContext.Result = new RedirectToRouteResult(new RouteValueDictionary
                                                            {
                                                                { "lang", filterContext.RouteData.Values["lang"] },
                                                                { "controller", "Home" },
                                                                { "action", "Index" },
                                                                { "ReturnUrl", filterContext.HttpContext.Request.RawUrl }
                                                            });
 
        }
    }
} | 
Partager