`
rcatws
  • 浏览: 5762 次
  • 性别: Icon_minigender_1
  • 来自: 上海
社区版块
存档分类
最新评论

ASP.NET MVC下判断用户登录和授权状态方法

    博客分类:
  • MVC
 
阅读更多

通过继承ActionFilterAttribute使用其中的OnActionExecuting方法来实现IActionFilter接口。

派生ActionFilterAttribute类

// 登录认证特性
public class AuthenticationAttribute : ActionFilterAttribute
{
  public override void OnActionExecuting(ActionExecutingContext filterContext)
  {
    if (filterContext.HttpContext.Session["username"] == null)
      filterContext.Result = new RedirectToRouteResult("Login", new RouteValueDictionary { { "from", Request.Url.ToString() } });
    base.OnActionExecuting(filterContext);
  }
}

 

使用方法

public class HomeController : Controller 
{ 
    [Authentication] 
    public ActionResult Index()
    {
        return View();
    }
}

 

针对整个MVC项目的所有Action都使用过滤器,则需要如下操作

1. 确保Global.asax.cs的Application_Start方法中包含FilterConfig被调用

public class MvcApplication : System.Web.HttpApplication
{
    protected void Application_Start()
    {
        AreaRegistration.RegisterAllAreas();
        WebApiConfig.Register(GlobalConfiguration.Configuration);
        FilterConfig.RegisterGlobalFilters(GlobalFilters.Filters);
        RouteConfig.RegisterRoutes(RouteTable.Routes);
    }
}

 

2. 在FilterConfig.cs文件中注册相应的特性过滤器

public class FilterConfig
{
    public static void RegisterGlobalFilters(GlobalFilterCollection filters)
    {
        filters.Add(new HandleErrorAttribute());
        filters.Add(new AuthenticationAttribute());
    }
}

 



 

分享到:
评论

相关推荐

    asp.net mvc4 实现用户登录

    asp.net mvc4 实现用户的登录验证

    Asp.Net MVC案例教程

    Asp.Net MVC案例教程 Asp.Net MVC案例教程 Asp.Net MVC案例教程 Asp.Net MVC案例教程 Asp.Net MVC案例教程 Asp.Net MVC案例教程

    ASP.NET MVC企业实战源代码Chapter12.rar

    本书共分为12章,以符合初学者...本书具有很大的参考价值,既适合ASP.NET MVC开发初学者阅读,也适合有一定基础的ASP.NET MVC开发人员进行技术强化和经验积累,同时还适合作为高等院校和培训学校相关专业的教学参考书

    ASP.NET MVC项目实例

    ASP.NET MVC作为微软官方的.NET平台下MVC解决方案,自诞生起就吸引了众多.NET平台开发人员的眼球。ASP.NET MVC从一开始的设计思路就与Struts不同,它的映射是利用路由配置而非xml,从而大大降低了开发复杂度,并且比...

    asp.net MVC4 CMS

    asp.net MVC4 CMS 完整的源代码,学习和提高asp.net mvc4可以参考一下。

    ASP.NET MVC5 入门 之登录验证

    功能简单 IDE:VS2013 架构:ASP.NET MVC5 语言:C#

    ASP.NET MVC 5入门指南(中文PDF+源码)

    ASP.NET MVC 5 - 验证编辑方法和编辑视图 9. ASP.NET MVC 5 - 给电影表和模型添加新字段 10. ASP.NET MVC 5 - 给数据模型添加校验器 11. ASP.NET MVC 5 - 查询Details和Delete方法 12. ASP.NET MVC 5 - 使用Wijmo ...

    AngularJS开发ASP.NET MVC

    AngularJS 开发 ASP.NET MVC.

    ASP.net MVC3 中文教程

    ASP.net MVC3 中文教程ASP.net MVC3 中文教程ASP.net MVC3 中文教程ASP.net MVC3 中文教程

    Pro ASP.NET MVC 5 Platform(Apress,Adam.Freeman,2014)

    The power of ASP.NET MVC 5 stems from the underlying ASP.NET platform. To make your ASP.NET MVC applications the best they can be, you need to fully understand the platform features and know how they ...

    asp.net mvc core 集成微信登录功能

    asp.net mvc core 集成微信登录功能

    ASP.NET MVC 4高级编程(第4版)清晰完整PDF版

    MVC专家“梦之队”对ASP.NET MVC 4的全新诠释 由Microsoft专家和极受敬重的软件开发社区负责人撰写的《ASP.NET MVC 4高级编程(第4版)》将带您学习最前沿的Web框架:ASP.NET MVC 4。本书开篇简要介绍ASP.NET MVC框架...

    【免费】ASP.NET MVC5 高级编程[附源码].rar

    ASP.NET MVC5高级编程(第5版.NET开发经典名著)作为Microsoft备受欢迎的MVC技术的最新版本,MVC 5是一个成熟的Web应用程序框架,支持快速的、TDD友好的开发。MVC允许开发人员创建动态的、数据驱动的网站。这样的...

    [ASP.NET MVC] ASP.NET MVC 4 实战 (英文版)

    ASP.NET MVC 4 in Action is a hands-on guide that shows you how to apply ASP.NET MVC effectively. After a high-speed ramp up, this thoroughly revised new edition explores each key topic with a self-...

    asp.net mvc 弹出窗口 技巧

    asp.net mvc 弹出窗口 技巧asp.net mvc 弹出窗口 技巧asp.net mvc 弹出窗口 技巧asp.net mvc 弹出窗口 技巧

    ASP.NET MVC 4高级编程 第4版PDF.rar

    ASP.NET MVC 是微软官方提出的一种Web开发框架,通过M是模型(model)-V视图(view)-C控制器(controller)l来设计创建Web应用程序。截至目前最新版本是MVC5,相对于之前的版本MVC5其可扩展性、易用性等方面都不很大的...

    ASP.NET MVC5

    ASP.NET MVC5 高清完整版,适合新手学习,理解MVC架构

    dwz框架 asp.net mvc3

    dwz框架 asp.net mvc3;dwz框架 asp.net mvc3;dwz框架 asp.net mvc3

    Pro ASP.NET MVC 5 (精通ASP.NET MVC5框架) 中文+英文+配套源代码

    Pro ASP.NET MVC 5 (精通ASP.NET MVC5框架) 中文+英文+配套源代码

    Asp.Net mvc 3

    Asp.Net mvc 3,Asp.Net mvc 3,Asp.Net mvc 3,Asp.Net mvc 3,Asp.Net mvc 3,Asp.Net mvc 3,Asp.Net mvc 3,Asp.Net mvc 3,Asp.Net mvc 3

Global site tag (gtag.js) - Google Analytics