1.新建一个.net core mvc项目
2.在Models文件夹下面添加一个类MyAttribute,专门用来保存我们定义的特性
在这里我只写了CheckLoginAttribute用来验证登陆情况
using Microsoft.AspNetCore.Http;using Microsoft.AspNetCore.Mvc;using Microsoft.AspNetCore.Mvc.Filters;using System;namespace AttributeStudy.Models{ ???public class MyAttribute ???{ ???} ???public class CheckLoginAttribute : Attribute,IActionFilter ???{ ???????public void OnActionExecuted(ActionExecutedContext context)//方法执行后执行 ???????{ ???????} ???????public void OnActionExecuting(ActionExecutingContext context)//方法执行前执行 ???????{ ???????????if(context.HttpContext.Session.GetString("LoginName")==null) ???????????{ ???????????????context.Result = new RedirectResult("Contact");//如果不存在这个Session则表示登陆不成功,跳到Contact页面 ???????????} ???????????else ???????????{ //否则,不做操作。 ???????????} ???????} ???}}
因为这里不是controller,所以,我们要得使用session得用注入的context来调用
而且,在.Net core使用Sesion还得在Startup添加配置
ConfigureServices下面添加 ?????????services.AddSession();Configure下面添加 ?????????????????app.UseSession();
.Net core 使用特性Attribute验证Session登陆状态
原文地址:https://www.cnblogs.com/wskxy/p/9441887.html