zoukankan      html  css  js  c++  java
  • MVC的基类

    设计一个验证用户身份是否登陆的基类BaseController

    /// <summary>
        /// 所有需要进行登录控制的控制器基类
        /// </summary>
        public class BaseController : Controller 
        {
            /// <summary>
            /// 当前登录的用户属性
            /// </summary>
            public UserInfo CurrentUserInfo { get; set; }
    
            /// <summary>
            /// 重新基类在Action执行之前的事情
            /// </summary>
            /// <param name="filterContext">重写方法的参数</param>
            protected override void OnActionExecuting(ActionExecutingContext filterContext)
            {
                base.OnActionExecuting(filterContext);
                //得到用户登录的信息
                CurrentUserInfo = Session["UserInfo"] as UserInfo;
    
                //判断用户是否为空
                if (CurrentUserInfo == null)
                {
                    Response.Redirect("/Login/Index");
                }
            }
    
            protected override void OnException(ExceptionContext filterContext)
            {
                base.OnException(filterContext);
    
                //错误记录
                WHC.Framework.Commons.LogTextHelper.Error(filterContext.Exception);
    
                // 当自定义显示错误 mode = On,显示友好错误页面
                if (filterContext.HttpContext.IsCustomErrorEnabled)
                {
                    filterContext.ExceptionHandled = true;
                    this.View("Error").ExecuteResult(this.ControllerContext);
                }
            }
    ........................
        }

    有了这个基类,我们在主页的Home控制类,就可以使用用户信息对象了进行操作了,而且必须要求客户登陆了

    public class HomeController : BaseController
        {
            public ActionResult Index()
            {
                if (CurrentUserInfo != null)
                {
                    ViewBag.FullName = CurrentUserInfo.FullName;
                    ViewBag.Name = CurrentUserInfo.Name;
                }
                return View();
            }
    ................
        }
  • 相关阅读:
    jQuery火箭图标返回顶部代码
    jQuery火箭图标返回顶部代码
    jQuery火箭图标返回顶部代码
    jQuery火箭图标返回顶部代码
    jQuery火箭图标返回顶部代码
    小花梨的三角形(暴力上下扫三角形)
    调手表(bfs)
    Educational Codeforces Round 65 (Rated for Div. 2)(ACD)B是交互题,不怎么会
    C. News Distribution(并查集)
    Codeforces Round #560 (Div. 3)A-E
  • 原文地址:https://www.cnblogs.com/zhangs1986/p/4846655.html
Copyright © 2011-2022 走看看