code/Athena0.0.1/Web/Controllers/WebController.cs

(开头部分) 2KB

这里只显示每个文件的开头 60 行。登录后可以解锁完整代码。

using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using Athena.bll;
using System.Text;
using System.Web.Mvc;
using Athena.common.Util;
//项目名称:Athena标准开发框架
//版本:0.0.1
//开发团队成员:周庆 王露 张婷婷 陈祚松 张梦丽 艾美珍 胡凯雨 陈兰兰 夏萍萍 康文洋 易传佳
//模块及代码页功能描述:web控制器基类(周庆)
//最后修改时间:2018-01-26
//修改日志:
//2017-04-11 添加此类(周庆)
//2018-01-26 添加相关返回信息处理方法(周庆)
namespace Web
{
    public class WebController: baseController 
    {
        protected AccountsPrincipal accctx = null;//当前用户上下文对象
        protected List<string> noauth_actions = new List<string>();//不需要验证的方法列表,默认情况下方法都是要验证的,不需要验证的方法这里添加
        protected override IAsyncResult BeginExecute(System.Web.Routing.RequestContext requestContext, AsyncCallback callback, object state)
        {
            if (requestContext.HttpContext.Session["accctx"] != null)//判断用户上下文对象是否不为空
            {
                accctx = (AccountsPrincipal)requestContext.HttpContext.Session["accctx"];
               //   Response.Redirect ("/mymaimai.aspx", false);
            }
            else//用户上下文对象为空时跳转到登入页面
            {
                requestContext.HttpContext.Response.Redirect("/Login/Index"); 
            }
            return base.BeginExecute(requestContext, callback, state);
        }
        //动作执行的前置判断(判断当前用户是否有操作权限)
        protected override void OnActionExecuting(ActionExecutingContext filterContext)
        {
            string actionName = filterContext.ActionDescriptor.ActionName;
            string controllerName = filterContext.ActionDescriptor.ControllerDescriptor.ControllerName;
            string controllerActionName = controllerName + actionName;
            //判断是否有权执行控制器的方法
            if ((noauth_actions.Contains(controllerActionName)) || ((accctx != null) && (accctx.HasActionPermission(actionName,controllerName))))
            {
                base.OnActionExecuting(filterContext);
            }
            else
            {
                Response.Redirect("~/Login/Index");//无权访问控制器方法时跳转默认页面(可跳转指定错误页)
            }
        }
        //[HttpGet]
        //public virtual ActionResult Index()
        //{
        //    return View();
        //}
        //[HttpGet]
        //public virtual ActionResult Form()
        //{
        //    return View();
后面还有 9 行代码,解锁后查看完整代码

24 小时内免费解锁 3 个项目,之后 1 积分/个。 规则说明

AI 解读

登录后可用,每次 10 积分,解读结果公开显示在下面。

还没有人解读过这个文件。