首页 > 编程语言 >asp.net core 静态文件授权访问

asp.net core 静态文件授权访问

时间:2024-07-10 19:30:05浏览次数:15  
标签:core UseStaticFiles asp 文件 静态 app new 授权 net

需求:项目中的有些静态文件,比如图片,JS等不想被爬虫直接爬到,需要登陆后才能访问

微软官方介绍页面

ASP.NET Core 中的静态文件 | Microsoft Learn

 

根据授权提供静态文件:

  • 将它们存储在 wwwroot 之外。
  • 调用 UseAuthorization 之后调用 UseStaticFiles,以指定路径。
  • 设置回退授权策略。
//设置回退授权策略
builder.Services.AddAuthorization(options =>
{
    options.FallbackPolicy = new AuthorizationPolicyBuilder()
        .RequireAuthenticatedUser()
        .Build();
});

var app = builder.Build();

if (app.Environment.IsDevelopment())
{
    app.UseMigrationsEndPoint();
}
else
{
    app.UseExceptionHandler("/Error");
    app.UseHsts();
}

app.UseHttpsRedirection();
app.UseStaticFiles();

app.UseRouting();

app.UseAuthentication();
app.UseAuthorization();

//新增静态文件目录,需要新建一个MyStaticFiles文件夹,然后通过https://localhost:50000/StaticFiles访问目录下的静态文件
app.UseStaticFiles(new StaticFileOptions
{
    FileProvider = new PhysicalFileProvider(
           Path.Combine(builder.Environment.ContentRootPath, "MyStaticFiles")),
    RequestPath = "/StaticFiles"
});

app.MapRazorPages();

app.Run();

  

标签:core,UseStaticFiles,asp,文件,静态,app,new,授权,net
From: https://www.cnblogs.com/fireicesion/p/18294864

相关文章

  • Franka Robot 夹爪控制示例(grasp_object.cpp)
    //Copyright(c)2023FrankaRoboticsGmbH//UseofthissourcecodeisgovernedbytheApache-2.0license,seeLICENSE#include<iostream>#include<sstream>#include<string>#include<thread>#include<franka/exception.h>......
  • 在Ubuntu上调试ARMv7的core文件
    1在Ubuntu上调试ARMv7的core文件1.1预备uname-a:获得目前嵌入式系统Linux(none)3.8.11-xilinx#40SMPPREEMPTThuJan1217:02:11CST2023armv7lGNU/Linux安装armv7的交叉编译工具链:sudoapt-getudpatesudoapt-getinstallgcc-arm-linux-gnueabihfgd......
  • 分享一个常用库 .NET Framework 4.7.2 Windows 7 专用版
    版本特点Microsoft.NETFramework(微软NET框架运行库)是Windows操作系统用于.NETFramework构建的应用程序所需的基础类型库组件。NETFramework是继WindowsDNA之后的一个全新软件开发平台,微软.NET框架是以一种采用系统虚拟机运行的编程平台,以通用语言运行库为基础,支持多国语言的......
  • THM-Skynet-Writeup
    通过学习相关知识点:攻破Linux目标机器并完成提权操作。部署并渗透目标机器step1使用Nmap扫描端口nmap-p--sC-sV-T4-v10.10.164.81139/445端口开放,可知目标机开启了SMB服务枚举SMB共享smbclient-L\\10.10.164.81获取到一些可能能访问的SMB服务账号:anonymo......
  • .net 6及以上版本 WebAPI 初始化项目介绍
    从ZR.Admin里面摘出一部分作为参考 1.Program.cs publicclassProgram{publicstaticvoidMain(string[]args){varbuilder=WebApplication.CreateBuilder(args);//Addservicestothecontainer.......
  • YOLOv8-Seg改进:backbone主干改进 | 微软新作StarNet:超强轻量级Backbone | CVPR 2024
     ......
  • YOLOv8原创改进:backbone主干改进 | 微软新作StarNet:超强轻量级Backbone | CVPR 2024
     ......
  • asp.net webform在Linux上部署--jexus
    JexusWebServer官网什么是JexusJexus是“JexusWebServer”的常用简称,也可简称为“JWS”。Jexus是一款运行于Linux环境的具有高安全性、高可靠性的高性能WEB服务器和负载均衡网关服务器。除了具备通用WEB服务器所必备的功能外,Jexus还能直接支持各类Asp.NetWEB应用,并以特有......
  • Backend - C# 的日志Lognet4
    目录一、安装log4net插件(一)作用(二)操作(三)注意二、配置(一)配置AssemblyInfo.cs (二)配置log4net.config1.创建log4net.config文件(和program.cs同层级)2.设置文件属性3.其中,文件内容:三、使用(一)封装一个类,方便管理(二)调用(三)等级Level四、其他:简单日志(一)定义日志......
  • 昇思25天学习打卡营第12天|ShuffleNet图像分类
    ShuffleNet网络介绍        ShuffleNetV1是旷视科技提出的一种计算高效的CNN模型,和MobileNet,SqueezeNet等一样主要应用在移动端,所以模型的设计目标就是利用有限的计算资源来达到最好的模型精度。ShuffleNetV1的设计核心是引入了两种操作:PointwiseGroupConvolution......