在MVC中添加拦截器实现登录后的权限验证
1.新建一个类 (以下实现了打印日志功能)
using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Web.Mvc; namespace MvcReporistory.Controllers
{
public class LoggerFilter : FilterAttribute, IActionFilter
{ void IActionFilter.OnActionExecuting(ActionExecutingContext filterContext)
{
System.Web.HttpContext.Current.Response.Write("执行action前拦截");
filterContext.Controller.ViewData["ExecutingLogger"] = "正要添加公告,已以写入日志!时间:" + DateTime.Now;
} void IActionFilter.OnActionExecuted(ActionExecutedContext filterContext)
{
System.Web.HttpContext.Current.Response.Write("执行action后拦截");
filterContext.Controller.ViewData["ExecutedLogger"] = "公告添加完成,已以写入日志!时间:" + DateTime.Now;
}
} }
2.在控制器中用[LoggerFilter] 标识这个控制器类
using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Web.Mvc; namespace MvcReporistory.Controllers
{
[LoggerFilter]
public class BookController : Controller,IActionFilter
{
//
// GET: /Book/ private Domain.IBookRepository.IBookRepository bookRepository;
private Domain.Infrastructure.IUnitOfWork unitOfWork; public BookController()
{
Domain.Infrastructure.BookStoreDbContext bookStoreDbContext = new Domain.Infrastructure.BookStoreDbContext();
bookRepository = new DAL.Repository.BookRepository(bookStoreDbContext);
unitOfWork = new Domain.Infrastructure.UnitOfWork(bookStoreDbContext); } public ActionResult List()
{
IList<Domain.Models.Book> listBook = bookRepository.GetAllBooks(); ViewBag.listdata = listBook;
return View(listBook);
} public ActionResult Cre()
{
Random rn=new Random();
Domain.Models.Book book = new Domain.Models.Book();
book.ISBN = rn.Next(,).ToString();
book.Title = "aaaa";
book.Type = "类型";
Create(book);
return View(); } public ActionResult Create(Domain.Models.Book book)
{
bookRepository.Insert(book);
unitOfWork.Save();
return RedirectToAction("List");
} }
}
在MVC中添加拦截器实现登录后的权限验证的更多相关文章
- spring mvc中的拦截器小结 .
在spring mvc中,拦截器其实比较简单了,下面简单小结并demo下. preHandle:预处理回调方法,实现处理器的预处理(如登录检查),第三个参数为响应的处理器(如我们上一章的Control ...
- Spring MVC中的拦截器/过滤器HandlerInterceptorAdapter的使用
一般情况下,对来自浏览器的请求的拦截,是利用Filter实现的 而在Spring中,基于Filter这种方式可以实现Bean预处理.后处理. 比如注入FilterRegistrationBean,然后 ...
- Spring MVC中的拦截器Interceptor
谈谈spring中的拦截器 在web开发中,拦截器是经常用到的功能.它可以帮我们验证是否登陆.预先设置数据以及统计方法的执行效率等等.今天就来详细的谈一下spring中的拦截器.spring中拦截器主 ...
- SpringMVC拦截器+Spring自定义注解实现权限验证
特别提示:本人博客部分有参考网络其他博客,但均是本人亲手编写过并验证通过.如发现博客有错误,请及时提出以免误导其他人,谢谢!欢迎转载,但记得标明文章出处:http://www.cnblogs.com/ ...
- Spring MVC中自定义拦截器的简单示例
1. 引言 拦截器(Interceptor)实现对每一个请求处理前后进行相关的业务处理,类似于Servlet的Filter. 我们可以让普通的Bean实现HandlerIntercpetor接口或继承 ...
- ASP.NET MVC中的拦截器
在ASP.NET MVC中,有三种拦截器:Action拦截器.Result拦截器和Exception拦截器, 所谓的拦截器也没有什么的,只是写一个类,继承另一个类和一个接口,顺便实现接口里面的方法而以 ...
- 9.springMVC中的拦截器
springMVC中的拦截器大概大致可以分为以下几个步骤去学习: 1.自定义一个类实现HandlerInterceptor接口,这里要了解其中几个方法的作用 2.在springMVC的配置文件中添加拦 ...
- 通过配置http拦截器,来进行ajax请求验证用户登录的页面跳转
在.NET中验证用户是否登录或者是否过期,若需要登录时则将请求转向至登录页面. 这个流程在进行页面请求时是没问题的,能正确进行页面跳转. 然而在使用xmlhttprequest时,或者jq的getJs ...
- spring boot中注册拦截器
拦截器是动态拦截Action调用的对象.它提供了一种机制可以使开发者可以定义在一个action执行的前后执行的代码,也可以在一个action执行前阻止其执行,同时也提供了一种可以提取action中可重 ...
随机推荐
- PAT (Advanced Level) 1107. Social Clusters (30)
简单并查集. #include<cstdio> #include<cstring> #include<cmath> #include<vector> # ...
- stock 仓位
别胆大求多,不轻信盲从.抓住几只自己长期关注并看好的股票.将这几只股票选为自选股,而其他股,不管是机构推荐还是股评荐股,都要谨慎,不轻易听从. 巧用“三三制”,根据趋势控制仓位.当不知道是在涨还是在跌 ...
- 励研(LY) CRC16算法
/**************************************************** ** 函数名称: CalculateCRC16 ** 输 入: buf 要校验的数据; le ...
- 如何查看和更改mysql数据库文件存放位置
mysql数据库的数据文件默认是存放在:C:\Documents and Settings\All Users\Application Data\MySQL\MySQL Server 5.1\data ...
- Linux 互斥锁的实现原理(pthread_mutex_t)
本文参考--http://www.bitscn.com/os/linux/201608/725217.html 和http://blog.csdn.net/jianchaolv/article/det ...
- 使用Jetty搭建Java Websocket Server,实现图像传输
https://my.oschina.net/yushulx/blog/298140 How to Implement a Java WebSocket Server for Image Transm ...
- 左倾堆(C#)
参考:http://www.cnblogs.com/skywang12345/p/3638384.html using System; using System.Collections.Generic ...
- JS基础知识(五)
内置对象 定义:JS语言自己定义的一些对象,供开发者使用. 常用内置对象: 1.Arguments对象 arguments.length 返回实参的个数 他只在正运行的函数内部使用.argument ...
- html5绘图
html5绘图 这是我在绘图过程中遇到的问题,求助高手帮忙啊... 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 ...
- CDOJ 1270 Playfair
模拟题,代码写得比较乱... #include<cstdio> #include<cstring> #include<cmath> #include<queu ...