阻止访问 ASP.NET - MVC 应用程序的静态内容

2023-12-11

我们有 asp.net MVC 和角度应用程序。我们使用 Identityserver3 来控制应用程序的访问。 除了一件事之外,一切都按预期进行。 未经授权的用户仍然可以访问应用程序的静态内容。

有没有办法在用户登录之前拒绝访问这些文件?


这是一篇很棒的文章的链接,它引导我找到了解决方案=>拦截文件请求

我为解决问题所采取的步骤:

  1. 将此行添加到我的网络配置文件中。 这将确保 js 文件请求不会被处理程序处理。

     <system.webServer>
        <handlers>
           <add name="JSFileHandler" path="*.js" verb="GET"
               type="System.Web.Handlers.TransferRequestHandler"      
               preCondition="integratedMode,runtimeVersionv4.0" />
        </handlers>
    </system.webServer>
    
  2. 登记路线。

        routes.IgnoreRoute("{resource}.axd/{*pathInfo}");
    
        routes.RouteExistingFiles = true;
        routes.MapRoute(
            "staticfiles"
            , "{*src}"
            , new { Controller = "Main", action = "GetJS" }
            , new { src = @"(.*?)\.(js)" }                     // URL constraints
        );
    
  3. 从控制器操作返回文件

    public ActionResult GetJS()
    {
    
       var path = this.Url.RouteUrl("staticfiles");
       return File(path,
           System.Net.Mime.MediaTypeNames.Application.Octet,
           Path.GetFileName(path));
    }
    
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

阻止访问 ASP.NET - MVC 应用程序的静态内容 的相关文章

  • 使用 Phaser.js 和 Ionic 开发游戏应用程序(渲染缓慢/不稳定)

    只是为了让您知道 以防有人想要开发 我使用 Phaser js 开发了一个游戏应用程序 我将代码放入 Ionic 空白启动应用程序中 所以基本上视图是使用 Ionic 应用程序渲染的 然后 Phaser 通过 id 选取 div 并显示游戏
  • MVC3 TextBoxFor 带有编码文本

    有没有办法将 TextBoxFor 助手与编码文本一起使用 例如 当使用 MVC3 With Razor 视图引擎的以下帮助程序时 Html TextBoxFor model gt model Description 并且对 model D
  • .net 4.7 中的依赖注入?

    我对 DI 有哪些集成选项有点困惑 我发现它对于 net core 对于我的特定项目 来说非常简单 但我不需要构建跨平台应用程序 也看不到使用 core 的优势 但是 net 框架应用程序似乎仍然使用 Global asax 设置且没有 S
  • AngularJS 插值错误

    我正在显示房间的属性 作为我正在开发的房间管理应用程序的一部分 这是输出 如您所见 Beamer 英文投影仪 的值为 Sony lamp 01 12 2013 此输出是正确的 但当我打开控制台时 我看到一些有关插值的错误 更大的分辨率 Ca
  • 了解 ASP.NET 应用程序文件夹

    ASP NET 中的应用程序文件夹用于存储对运行网站至关重要的各种元素 我想更深入地了解这些文件夹 特别是文件夹的可访问性 根据有关的文章ASP NET 网站布局 http msdn microsoft com en us library
  • Angularjs 模式的复选框表现得很奇怪

    我有一个有角度的应用程序plunker http plnkr co edit rac8w9g8L0eX8mlXKuVn p preview 当我们单击该按钮时 它会打开一个包含项目列表的模式对话框 其中 2 项是根据复选框表输入中的条件进行
  • Swagger 生成 javascript-closure-angular-client

    我是 swagger 的新手 我从 swagger 的在线编辑器生成了一个 javascript 闭包角度客户端 它给了我一个 DefaultAPI js 和其他与我的对象定义匹配的 JS 文件 我在 swagger 文档和网上搜索了一种在
  • Access-Control-Allow-Headers 不允许请求标头字段 Access-Control-Allow-Headers

    我试图通过发布请求将文件发送到我的服务器 但是当它发送时会导致错误 Access Control Allow Headers 不允许请求标头字段 Content Type 所以我用谷歌搜索了错误并添加了标题 http post rootSc
  • 用于验证 IIS 设置的 Powershell 脚本

    是否可以使用 Power Shell 脚本获取 IIS 设置 我希望使用脚本获取 检查以下信息 检查 Windows 身份验证提供程序是否正确列出 协商 NTLM 检查是否启用了 Windows 身份验证 Windows 身份验证高级设置
  • 传入字典的模型项是类型

    我有一个我理解的错误 但无法找出以正确的方式解决的方法 我有一个 MasterPage 我从该 MasterPage 中调用 标签是一个强类型视图 如下所示 我像这样返回 PartialView return View Tags resul
  • 带有 HttpContext 的 ASP.NET MVC 单元测试控制器

    我正在尝试为我的一个控制器编写一个单元测试 以验证视图是否正确返回 但该控制器有一个访问 HttpContext Current Session 的基本控制器 每次我创建控制器的新实例时 都会调用 basecontroller 构造函数 并
  • ASP.NET MVC 和 Expression XAML - 如何集成?

    一些背景 ASP net MVC 主要是构建和开发 ASP NET 应用程序方式的范式转变 从 代码隐藏 类型的心态转变为更像标准 MVC Ruby on Rails 的心态 我赞扬它作为一种简化工具来简化单元测试和代码分离 尽管 html
  • 阻止未确认电子邮件的用户使用 Identity 2 登录 ASP.Net MVC

    在 Microsoft Identity 2 中 用户可以确认我从以下位置下载了 Identity 2 示例项目的电子邮件地址here https www nuget org packages Microsoft AspNet Identi
  • Visual Studio 智能感知搞砸了

    所以我是 MVC4 和 C 的新手 我已经设计这个网站大约两周了 智能感知没有任何问题 两天来 Visual studio 告诉我 Viewbag 和其他 命令不是我的项目的一部分 我可能错过了一些东西 或者它告诉我 Viewbag 在当前
  • 如何在量角器中模拟拖放动作?

    我有一个双滑块 我想测试它是否可操作并返回正确的数据 滑块有一个最小和一个最大处理程序 它还有一些 我可以挂钩的断点 我想要模拟的是 handler max 元素的 touchStart 将拇指移动到类为 step 3 的元素上 handl
  • 如何正确清理来自 AngularJS 控制器的无效输入的表单?

    我有一个 AngularJS 表单 其中包含 除其他字段之外 类型之一url 后者很重要 因为这会强制相应的输入成为有效的 URL 在某些条件下 例如 要关闭具有此类表单的模式对话框 我想以编程方式清除该表单 为此 我实现了方法reset基
  • Angular.js:如何从无序列表中获取 orderBy 或过滤器来工作?

    尝试根据价格和评级 在返回的对象中 进行排序 我宁愿用 ng click 和 li 来代替使用选择菜单 有没有办法做到这一点 我环顾四周 这是我能想到的最接近的 ul class restaurant filter li i class i
  • (VS2017)运行所选代码生成器时出错:“序列不包含元素”

    我正在跑过微软的教程之一 https learn microsoft com en us aspnet core tutorials first mvc app 关于 MVC 开发 我在尝试创建各种元素时遇到错误 视图 控制器等 我收到的错
  • 如何强制 Visual Studio 2008 生成 Designer.cs,例如不管怎样.aspx.designer.cs

    我在使用 Visual Studio 2005 使用网站技术生成的 Asp Net V2 0 中有一些 Web 表单 想要将它们导入到设置为 v3 5 Asp Net MVC 的 Visual Studio 2008 我在其中使用项目技术
  • ASP.NET MVC,控制器可以改变提交的值吗?

    ASP NET MVC 中是否允许更改提交的值 HttpPost public ActionResult Create Person toCreate toCreate Lastname toCreate Lastname A return

随机推荐