asp.net+mvc+easyui+sqlite 简单用户系统学习之旅(六)—— 简单过滤器的使用

有些同学喜欢在测试或运行项目时,直接跳转页面到Home/Index下,但本次项目直接输入Home/Index则会报错

因为home/index中有个user.name参数,如果启动项目后直接跳转到home/index页后,则会报错。下面,我们来学习利用过滤器,直接输入home/index后让页面跳转到登录页面。(注意:如果当前你在测试时,已经登录跳转到主页后,在注销之前再刷新,输入home/index地址时,并不会报错,因为user.name参数是保存在session中,而我们在注销的操作中才把session内容清空)

好,下面来构造过滤器。

1. 先在Controllers文件夹下新建名为Filter的文件夹,用来放过滤器的代码,再添加一个名为CheckLoginFilter.cs的类文件

2. 在CheckLoginFilter.cs中添加如下代码:

using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Web.Mvc;

namespace UserManager.Web.Controllers.Filter
{
    public class CheckLoginFilter : FilterAttribute, IActionFilter
    {
        public void OnActionExecuted(ActionExecutedContext filterContext)
        {
            if (HttpContext.Current.Session["user"] == null)
            {
                filterContext.HttpContext.Response.Write("-1");
            }
        }

        public void OnActionExecuting(ActionExecutingContext filterContext)
        {
            if (HttpContext.Current.Session["user"] == null)
            {
                filterContext.Result = new RedirectResult("/Account/Index");
            }
        }
    }
}

3. 在控制器/HomeControllers.cs文件中添加过滤器:

显示结果:当运行项目,地址栏输入Home/index时,马上跳转到Account/index的登录界面。

时间: 2024-11-06 08:00:46

asp.net+mvc+easyui+sqlite 简单用户系统学习之旅(六)—— 简单过滤器的使用的相关文章

asp.net+mvc+easyui+sqlite 简单用户系统学习之旅

首次接触asp.net开发,希望把自己的学习之旅写下来,一方面做个知识归纳技术总结,另一方面开放到博客中,和大家一起交流学习! asp.net是目前流行的web开发技术之一,是微软旗下开发的基于.net framework的一套免费的网络应用框架.因为其强大专业的后台支持,和配套优秀的vs开发工具,越来越成为web开发者和公司的选择.学习asp.net可以参考极客学院的知识体系图. http://www.jikexueyuan.com/path/aspdotnet/ 1. C#语言基础 2. A

asp.net+mvc+easyui+sqlite 简单用户系统学习之旅(二)

下面开始在UserManager.Web中利用easyUI构建web. 1. 先删除自带的controllers.models和views(里面的shared和web.config可以保存)下面的文件 2. 要利用easyUI,首先去网上下载jquery-easyui-1.3.2.zip,同时下载一份EasyUI-1.3.2.CHM帮助文档,方便查阅. 这里给出下载链接分享: 链接: http://pan.baidu.com/s/1c2xAGKS 密码: pkd6 解压后的easyui是这样的

asp.net+mvc+easyui+sqlite 简单用户系统学习之旅(一)

下面开启项目 1. 打开vs2010-文件-新建项目 2. 先创建一个空的解决方案: 选择其他项目类型-visual studio 解决方案-空白解决方案(默认.NET Framework 4),项目名和位置自定义,这里设为UserManager和D盘下我的项目下面的路径 3. 为空白解决方案添加项目,右击-添加-新建项目 4. 选择visual c#-web-asp.net mvc 2 web 应用程序 这里新建的web名称前缀为解决方案,后面加上.Web的方式命名,位置在我们刚刚创建的空白解

asp.net+mvc+easyui+sqlite 简单用户系统学习之旅(五)—— 解决tabs选择已建tab显示但datagrid的toolbar消失的问题

项目需要反复运行,调整bug.发现在选择已有选项卡时,虽然不需要再新建tab,直接跳转到已有的tab上,但问题是显示的datagrid有事会出现toolbar消失的问题.网上也有不少同学出现类似问题,好像是easyui中datagrid源代码的bug,第一次加载datagrid页面就不会出现问题. 这里,我通过利用每次都让datagrid重新加载的思路,来修正代码: 在(Home)Index中修改该段代码成如下 $('#tt').tree({ onClick: function (node) {

asp.net mvc +easyui 实现权限管理(二)

一写完后,好久没有继续写了.最近公司又在重新开发权限系统了,但是由于我人微言轻,无法阻止他们设计一个太监版的权限系统.想想确实是官大一级压死人啊, 没办法我只好不参与了 让他们去折腾. 我就大概说一下公司目前在做的权限系统,各位看官给点评价. 设计总体要求: (注:项目名称为 统一权限管理系统) 1.做一个通用权限系统. 2.权限设计按照角色设置. 3.提供统一权限接口 以上就是整体要求,解释一下, 我们的通用是指的以后每开发一套新系统,只需要在统一权限管理系统中进行相应的配置就好了,无需再去开

ASP.NET MVC +EasyUI 权限设计(二)环境搭建

请注明转载地址:http://www.cnblogs.com/arhat 今天突然发现博客园出问题了,老魏使用了PC,手机,平板都访问博客园了,都是不能正常的访问,原因是不能加载CSS,也就是不能访问common.cnblogs.com这个域名,一直出现"Aborted",非常的郁闷. 页面就是这样子的,不知道为什么,难道是不是我的3个终端有问题吧,还是园子的服务器有问题呢?还是路由器的问题呢?到现在这个问题还没解决,郁闷死了!弄得心情非常的不爽. 好吧,不在说这个问题了,开始我们的正

ASP.NET MVC +EasyUI 权限设计(一)开篇

在前一段时间中,老魏的确非常的忙碌,Blog基本上没有更新了,非常的抱歉,那么在后面的时间中,老魏会尽量的抽时间来写的,可能时间上就不太富裕了.今天开始呢,老魏会和大家分享一下关于权限设计的有关文章,由于在园子中已经有很多人写过这方面的知识了,所以老魏在这里呢可不能班门弄斧了,只是把自己的理解和做法和大家分享一下,如果有什么不对的地方或者可以优化的地方,老魏非常希望能够得到各位的建议. 话说权限是在任何的项目或者产品中都必须要用的模块,而这部分呢基本上是作为基础数据来提供的,为了能够控制各个用户

对Spring.Net+NHibenate+Asp.Net Mvc+Easyui框架的个人认识

对Spring.Net+NHibenate+Asp.Net Mvc+Easyui框架的个人认识   初次接触Spring.Net+NHibenate+Asp.Net Mvc+Easyui框架,查阅了相关资料,了解了框架如何使用,以及优缺点,下面的说法可能比较浅显,后续的可能在开发过程中能了解的更深刻一些.说的不对的地方请及时指正. 首先,拿到这个框架的时候,第一个想问的问题是为什么想用这块框架,有什么好处,通过查资料浅显的理解为:为了实现应用的松耦合,通过配置完成对数据业务逻辑的处理,节省开发时

ASP.NET MVC+EasyUI+Entity FrameWork 整合开发

本文详细讲解怎么用ASP.NET MVC+EasyUI+Entity FrameWork 来开发一个项目 对于ASP.NET MVC的Jscript库,主要引用 <script type="text/javascript" src="@Url.Content("~/Scripts/jquery-1.7.2.min.js")"></script> <script src="@Url.Content("