zoukankan      html  css  js  c++  java
  • MVC身份认证 解决办法 测试可行

    这个方法还有点不太完善,个人觉得或许可能有更好的办法。

    但是现在还不知道,看到这种留个记录。

    首先在项目根目录创建文件夹Filter

    然后创建BasicAuthAttribute.cs 类文件

    代码如下:

     public class BasicAuthAttribute : ActionFilterAttribute
        {
            public override void OnActionExecuting(ActionExecutingContext filterContext)
            {
                var username = filterContext.HttpContext.Session["username"];
                var password = filterContext.HttpContext.Session["password"];
                if (username == null || password == null)
    
                {
                    //用户不登陆的时候跳转到登录页面
                    filterContext.Result = new RedirectToRouteResult(new RouteValueDictionary(new { controller = "Home", action = "Login", area = string.Empty }));
                }
            }
        }

    继承于ActionFilterAttribute,而后调用的时候在项目的控制器以特性的方式来使用

    当用户没有登录的时候默认进入 Home Login页面。

     [AttributeUsage(AttributeTargets.Class | AttributeTargets.Method, Inherited = true, AllowMultiple = false)]
        public abstract class ActionFilterAttribute : FilterAttribute, IActionFilter, IResultFilter
        {
            protected ActionFilterAttribute();
            //    在Action执行之后由 MVC 框架调用。
            public virtual void OnActionExecuted(ActionExecutedContext filterContext);
            //     在Action执行之前由 MVC 框架调用。
            public virtual void OnActionExecuting(ActionExecutingContext filterContext);
            //     在执行Result后由 MVC 框架调用。
            public virtual void OnResultExecuted(ResultExecutedContext filterContext);
            //     在执行Result之前由 MVC 框架调用。
            public virtual void OnResultExecuting(ResultExecutingContext filterContext);
        }

    如不明白请参考 源地址:http://www.cnblogs.com/liuxinxin/articles/2265672.html

    NET新手,希望各位大侠多多指教。
  • 相关阅读:
    ubuntu apt 命令相关
    linux 常用命令
    sqli-labs 通关详解(sql注入知识点整理)
    运维手册2---查看机子的系统信息
    运维手册1---ssh命令:使用密钥文件进行登陆
    Java中的==和equals,常量池
    Java Persistence
    VSCode常用插件汇总
    VSCode常用插件之Auto Rename Tag使用
    ESLint 使用指南
  • 原文地址:https://www.cnblogs.com/duanyuerui/p/7078416.html
Copyright © 2011-2022 走看看