.Net core 使用特性Attribute驗證Session登陸狀態
阿新 • • 發佈:2018-08-08
ace models ets 否則 filter color exec dds 操作
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登陸狀態