1. 程式人生 > >.Net core 使用特性Attribute驗證Session登陸狀態

.Net core 使用特性Attribute驗證Session登陸狀態

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登陸狀態