Exemple #1
0
        public void SignIn(int userid)
        {
            SignInCookieModel cookieModel = new SignInCookieModel();

            cookieModel.userid          = userid;
            cookieModel.roles           = "";
            cookieModel.isAuthenticated = true;
            HttpCookie cookie = new HttpCookie("ProjectC");

            cookie.Value = Tools.ObjToJson(cookieModel);
            HttpContext.Current.Response.Cookies.Set(cookie);
        }
Exemple #2
0
        protected override bool AuthorizeCore(HttpContextBase httpContext)
        {
            bool result = false;

            if (httpContext == null)
            {
                throw new ArgumentNullException("httpContext");
            }
            HttpCookie cookie = HttpContext.Current.Request.Cookies.Get("ProjectC");

            if (cookie == null)
            {
                httpContext.Response.StatusCode = 401;
                return(false);
            }
            SignInCookieModel user = Tools.JsonToObj(new SignInCookieModel(), cookie.Value);

            if (!user.isAuthenticated)
            {
                httpContext.Response.StatusCode = 401;
                return(false);
            }
            string[] users = Users.Split(',');
            string[] roles = Roles.Split(',');
            if (roles.Length == 1 && string.IsNullOrWhiteSpace(roles[0]))
            {
                result = true;
            }
            else
            {
                string[] currentRoles = user.roles.Split(',');
                foreach (var role in roles)
                {
                    if (currentRoles.Contains(role))
                    {
                        result = true;
                        break;
                    }
                }
            }
            if (!result)
            {
                httpContext.Response.StatusCode = 403;
            }
            return(result);
        }