.NET mvc实现登录

本文介绍了在.NET MVC中如何实现登录功能,包括检测未登录并重写AuthorizeAttribute类,处理登录请求的步骤,如创建登录基类、登录判断与授权函数,并在配置文件中进行设置。同时,文章提及了退出登录的实现,但指出该方法仅适用于mvc4及以下版本,对于mvc5的兼容性问题还在研究中。
摘要由CSDN通过智能技术生成

1.检测未登录跳转登录页面

重写AuthorizeAttribute类

这里主要用到两个方法:

  • HandleUnauthorizedRequest :处理未能授权的 HTTP 请求。
  • AuthorizeCore:通过上下文检查用户是否授权

代码:

 using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Web.Mvc;
using System.Web.Routing;
using System.Web.Security;
namespace NewsPublish.Common
{
    public class MvcAuthorizeAttribute : AuthorizeAttribute
    {

        //
        // 摘要:
        //     处理未能授权的 HTTP 请求。
        //
        // 参数:
        //   filterContext:
        //     封装有关使用 System.Web.Mvc.AuthorizeAttribute 的信息。filterContext 对象包括控制器、HTTP 上下文、请求上下文、操作结果和路由数据。
        protected override void HandleUnauthorizedRequest(AuthorizationContext filterContext)
        {
            var routeValue = new RouteValueDictionary {
                { "Controller", "Home"},
                { "Action", "Login"}
            };
            filterContext.Result = new RedirectToRouteResult(routeValue);
        }


        // 摘要:
        //     重写时,提供一个入口点用于进行自定义授权检查。
        //
        // 参数:
        //   httpContext:
        //     HTTP 上下文,它封装有关单个 HTTP 请求的所有 HTTP 特定的信息。
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值