mvc用户登陆验证

//我这里的验证就主要是用于判断每一个session是否失效 

public class CheckLoginAuthorize : AuthorizeAttribute

    {
        /// <summary>
        /// 重写时,提供一个入口点用于进行自定义授权检查。
        /// </summary>
        /// <param name="httpContext">HTTP 上下文,它封装有关单个 HTTP 请求的所有 HTTP 特定的信息。</param>
        /// <returns>
        /// 如果用户已经过授权,则为 true;否则为 false。
        /// </returns>
        /// <exception cref="System.ArgumentNullException">HttpContext</exception>
        protected override bool AuthorizeCore(HttpContextBase httpContext)
        {
            if (httpContext == null)
                throw new ArgumentNullException("HttpContext");
            //是否验证了用户
            if (!httpContext.User.Identity.IsAuthenticated)
                return false;
            var loginuser = httpContext.Session["userType"];
            if (loginuser != null)
                return true;
            var studentInfo = httpContext.Session["studentInfo"];
            if (studentInfo != null)
                return true;
            var stuPhycial = httpContext.Session["stuPhycial"];
            if (stuPhycial != null)
                return true;
            var testTimes = httpContext.Session["testTimes"];
            if (testTimes != null)
                return true;
            var test = httpContext.Session["test"];
            if (test != null)
                return true;
            var studentPurpose = httpContext.Session["studentPurpose"];
            if (studentPurpose != null)
                return true;
            var userId = httpContext.Session["userId"];
            if (userId != null)
                return true;
            var adminId = httpContext.Session["adminId"];
            if (adminId != null)
                return true;
            var user = httpContext.Session["user"];
            if (user != null)
                return true;
            var tbUserName = httpContext.Session["tbUserName"];
            if (tbUserName != null)
                return true;
            var userName = httpContext.Session["userName"];
            if (userName != null)
                return true;
            var tel = httpContext.Session["tel"];
            if (tel != null)
                return true;
            var mob = httpContext.Session["mob"];
            if (mob != null)
                return true;
            return false;
        }
        /// <summary>
        /// 在过程请求授权时调用。
        /// </summary>
        /// <param name="filterContext">筛选器上下文,它封装有关使用 <see cref="T:System.Web.Mvc.AuthorizeAttribute" /> 的信息。</param>
        public override void OnAuthorization(System.Web.Mvc.AuthorizationContext filterContext)
        {
            string controllerName = filterContext.ActionDescriptor.ControllerDescriptor.ControllerName;
            string actionName = filterContext.ActionDescriptor.ActionName;
            base.OnAuthorization(filterContext);
        }
    }
posted @ 2015-09-02 10:08  小A爱吧  阅读(139)  评论(0)    收藏  举报