第七色在线视频,2021少妇久久久久久久久久,亚洲欧洲精品成人久久av18,亚洲国产精品特色大片观看完整版,孙宇晨将参加特朗普的晚宴

為了賬號安全,請及時綁定郵箱和手機(jī)立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

如何要求 HTTPS 但不重定向

如何要求 HTTPS 但不重定向

C#
楊__羊羊 2022-01-09 10:28:03
有一個帶有 API 部分的 ASP.net Core 應(yīng)用程序。我想對 API 的所有訪問都要求 Https。但是Asp.net 文檔指出警告不要在接收敏感信息的 Web API 上使用 RequireHttpsAttribute。RequireHttpsAttribute 使用 HTTP 狀態(tài)代碼將瀏覽器從 HTTP 重定向到 HTTPS。API 客戶端可能不理解或不遵守從 HTTP 到 HTTPS 的重定向。此類客戶端可以通過 HTTP 發(fā)送信息。Web API 應(yīng)該:不聽 HTTP。關(guān)閉狀態(tài)碼為 400 (BadRequest) 的連接并且不處理請求。問題有沒有辦法在控制器/方法級別拒絕但不重定向傳入的 https?
查看完整描述

1 回答

?
aluckdog

TA貢獻(xiàn)1847條經(jīng)驗 獲得超7個贊

由于您使用的是 asp.net 核心,所以讓我們編寫一個ActionFilterAttribute我們將應(yīng)用于任何我們想要返回Forbidden結(jié)果而不是Redirect如果請求方案是HTTP而不是HTTPS 的控制器或操作


using Microsoft.AspNetCore.Mvc;

using Microsoft.AspNetCore.Mvc.Filters;


[AttributeUsage(AttributeTargets.Class | AttributeTargets.Method, AllowMultiple = true)]

public class RestrictHttpsAttribute : ActionFilterAttribute

{

    public override void OnActionExecuting(ActionExecutingContext context)

    {

        if (!context.HttpContext.Request.IsHttps)

        {

            context.Result = new ForbidResult();

        }

        else

        {

            base.OnActionExecuting(context);

        }

    }

}

如何使用


這是在控制器上使用動作過濾器的方法:


[RestrictHttps]

public class ExampleController : Controller

{

    // controller code goes here.

}


查看完整回答
反對 回復(fù) 2022-01-09
  • 1 回答
  • 0 關(guān)注
  • 222 瀏覽

添加回答

舉報

0/150
提交
取消
微信客服

購課補(bǔ)貼
聯(lián)系客服咨詢優(yōu)惠詳情

幫助反饋 APP下載

慕課網(wǎng)APP
您的移動學(xué)習(xí)伙伴

公眾號

掃描二維碼
關(guān)注慕課網(wǎng)微信公眾號