ASP.NET MVC - 仅限图像 + 经过身份验证的用户

2024-01-15

是否有可能以某种方式只允许经过身份验证的用户查看某些图像?我目前正在构建一个网络画廊,我不希望未经身份验证的用户能够看到这些图像。


您可以将这些图像放在服务器上用户无权访问的某个位置(例如~/App_Data文件夹)以防止直接访问它们,然后使用控制器操作来为它们提供服务。此操作将使用 Authorize 属性进行修饰,以仅允许经过身份验证的用户调用它:

[Authorize]
public ActionResult Image(string name)
{
    var appData = Server.MapPath("~/App_Data");
    var image = Path.Combine(appData, name + ".png");
    return File(image, "image/png");
}

进而:

<img src="@Url.Action("Image", "SomeController", new { name = "foo" })" alt="" />

在视图内,您还可以在显示图像之前测试用户是否经过身份验证。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

ASP.NET MVC - 仅限图像 + 经过身份验证的用户 的相关文章

  • 缺少添加控制器/视图的上下文菜单

    我已将 ASP NET MVC 4 集成到现有的 asp net 网站中 两者都工作正常 但我没有看到任何菜单 快捷方式来在 Visual Studio IDE 中创建控制器 视图 这些仅适用于 ASP NET MVC 模板吗 这些仅适用于
  • 当集合提交回控制器时,未将对象引用设置为对象的实例。错误

    我正在更新多条记录 单击提交按钮后出现错误 这表明控制器收到 NULL 并在第 36 行报告以下错误 下面是我的控制器 视图和模型的代码 你调用的对象是空的 描述 执行当前 Web 请求期间发生未处理的异常 请检查堆栈跟踪 有关该错误及其起
  • ASP.NET MVC:这个业务逻辑应该放在哪里?

    我正在开发我的第一个真正的 MVC 应用程序 并尝试遵循一般的 OOP 最佳实践 我正在将控制器中的一些简单业务逻辑重构到我的域模型中 我最近一直在阅读一些内容 很明显我应该将逻辑放在域模型实体类中的某个位置 以避免出现 贫血域模型 反模式
  • 包含 ASP.Net Identity 2.0 UserManager.Users.ToListAsync 和 UserManager.FindByIdAsync 上的属性

    我正在尝试实现 Asp Net Identity 2 0 到目前为止 在以下人员的帮助下我做得很好这个博客 http typecastexception com post 2014 06 22 ASPNET Identity 20 Cust
  • 获取当前操作和控制器并将其用作 Html.ActionLink 中的变量?

    我需要能够动态检索您所在页面的当前操作和控制器名称 并实际使用它们创建一个新的 HTML ActionLink 链接到相同的操作和控制器名称 但位于不同的区域 所以我想我需要检索当前操作和控制器名称作为变量以用于构建新的 HTML Acti
  • 有没有办法让 DefaultModelBinder 在绑定到 List 时忽略空项

    我有一个场景 我想更改 DefaultModelBinder 绑定到枚举列表的方式的行为 我有一个枚举 public enum MyEnum FirstVal SecondVal ThirdVal 和一个模型类 public class M
  • 在 Dapper 中处理 Oracle 数据库连接

    我正在尝试连接到 Oracle 数据库并尝试执行查询 下面是我的模型类 using System using System Collections Generic using System Linq using System Web usi
  • 如何让浏览器后退按钮通过 AJAX 调用带您返回?

    我有一个页面 上面有很多动态生成的复选框 当用户单击这些复选框时 页面上的许多内容会通过 ajax 动态更改 最终用户抱怨 在点击提交然后点击后退按钮更改某些内容后 他们的选择被破坏了 他们必须重新做一遍 我见过一些网站 gmail fac
  • 发布时出错:System.DirectoryServices.DirectoryServicesCOMException

    我在我的 asp net MVC 解决方案中使用 AD 身份验证 它在本地服务器中工作 但是当我发布它时 我收到错误 System DirectoryServices DirectoryServicesCOMException 发生操作错误
  • 在asp net mvc中简单的图像上传

    我正在构建一个简单的学校门户 我一直坚持将图像上传到我的应用程序中 即用户应该将学校图像上传到我的服务器 我的图像目录为 Content Images 所有上传图像都应该上传到这个目录 我有以下代码 input type file id S
  • 如何以一种形式发布两个或多个模型?

    我正在为一个项目开发互联网课程计划应用程序 该课程计划是根据以下模型构建的 使用数据库优先方法中的实体框架生成 public partial class Subject public int Id get set public string
  • 起订量:无法投射到接口

    今天早些时候我问过这个question https stackoverflow com questions 2774785 moq unable to cast 因此 由于起订量从接口创建它自己的类 我无法将其转换为不同的类 所以这让我想知
  • 如何在 MVC3 Razor 视图中呈现数据表

    我在 xls 电子表格 1 之间有一个可靠且经过测试的导入方法 该方法返回DataTable 我已将其定位在我的服务层中 而不是数据中 因为只有工作簿作为上传文件保存 但现在我想知道在哪里以及如何生成此内容的 HTML 表示形式DataTa
  • Active Directory 会员资格提供商 - 如何对此进行扩展?

    我正在努力通过 AD Membership Provider 启动并运行 MVC 应用程序 但在解决这个问题时遇到了一些问题 我有一个基本配置设置并在我登录时工作 电子邮件受保护 cdn cgi l email protection 密码
  • 单元测试:创建“模拟”请求来模拟 MVC 页面请求

    如何为我的 asp net mvc 应用程序创建模拟请求以进行单元测试 我有什么选择 我在我的操作中使用 FormsCollection 因此我也可以模拟表单输入数据 您只需创建 FormCollection 的新实例并在其中添加数据即可
  • 使用 LINQ2SQL 在 ASP.NET MVC 中的各种模型存储库之间共享数据上下文

    我的应用程序中有 2 个存储库 每个存储库都有自己的数据上下文对象 最终结果是我尝试将从一个存储库检索到的对象附加到从另一个存储库检索到的对象 这会导致异常 Use 构造函数注入将 DataContext 注入每个存储库 public cl
  • Signal R Native Android 应用程序协商失败

    我正在尝试创建一个可以连接到我的基本 SignalR Hub 的 Android 应用程序 它只是一个基本的集线器文件 我想用它来测试一些东西 但到目前为止我还没有运气 有人可以看看我做错的事情吗 每次我尝试运行它时 我都会收到以下堆栈竞赛
  • MVC @model 含义

    在MVC5中 什么是 model html and using意思是我们通常使用的原因和时间 后面跟着哪个词 例如 model MVC Project2 Models stufftable写在re cshtml页面的第一个 stufftab
  • ASP.NET MVC:Razor @helper 与 HtmlHelper 的扩展方法 - 哪个是首选?

    ASP NET MVC 中的 Razor 视图引擎支持 helper 来定义小帮助器方法 看来您可以通过向 HtmlHelper 添加扩展方法来完成同样的事情 在什么情况下最好分别使用 主观问题 所以这是我主观且有偏见的答案 当帮助程序代码
  • 对 Action 方法的两个并行 ajax 请求排队,为什么?

    我正在使用 ASP NET MVC 开发一个视频网站 我希望在我的应用程序中拥有的一项功能是转码视频 但由于转码过程可能非常耗时 我想向客户端用户展示该过程的进度 因此 我的架构是使用一个控制器操作来处理整个转码过程 并将其进度写入存储在服

随机推荐

  • 如何以表格形式相邻调用列表中的 2 个连续项目?

    基本上我有一个包含新闻标题的列表视图 第一个标题覆盖顶部 备用标题覆盖第二部分 第三个标题覆盖第三部分 第二个和第三个在列表中是连续的 第一个标题仍然是唯一的标题 列表 我以编程方式将其定义如下 public class NewsListA
  • 向 MKPointAnnotation 添加按钮?

    我只是写了几行代码 然后在尝试向注释点添加详细信息按钮时陷入困境 我不知道如何操作 有谁知道这是怎么做到的吗 下图显示了我想要实现的目标 谢谢 https i stack imgur com kK1Ox jpg https i stack
  • 谷歌浏览器添加了额外的div?

    大家好 我不知道你们怎么想 但我发现在 ubuntu 中 Google Chrome 在 HTML 的 body 底部添加了一个无用的 div 和 z index 1 我可以在任何网页上看到这一点 并且该 div 覆盖了整个页面 这使得 z
  • 在 vuejs 中的图像中包含 router-link 标签

    我可以将 router link 标签包装或封装在图像标签中吗 当我单击图像时 我希望它能够将我路由到所需的页面 是的 你可以 但情况恰恰相反 你需要用 router link 标签包裹你的图像
  • 在 Silverlight 导航应用程序的资源字典中解析故事板中的目标名称

    我有一个故事板 可以在导航上为椭圆设置动画 页面控件 只要我将 Storyboard 保留在 UserControl Resources 内 动画运行就没有问题 我将故事板移至资源词典中 使其可用于多个页面 我可以按预期访问 Storybo
  • C程序连接mysql

    我正在开发一个简单的 C 程序 它必须连接到我的数据库 然后执行查询 然后关闭连接 int main MYSQL conn conn mysql init NULL if conn NULL printf Error u s n mysql
  • 使用 python w/rest api 与 Azure Key Vault 交互

    我对使用最近发布的新服务在 Azure 中进行秘密管理非常感兴趣 我找到了一些示例指南 介绍了如何通过 powershell cmdlet 和 C 与 Key Vault 进行交互 但是还没有找到太多关于开始使用其余 API 的信息 我特别
  • 类型“JavaCompile”属性“options.compilerArgumentProviders.apt$0.name”缺少输入或输出注释。升级到Gradle 7后出现错误

    升级到 Gradle 7 0 并进行构建后 我遇到以下失败 gt Task compileJava FAILED FAILURE Build failed with an exception What went wrong Some pro
  • 调整火狐浏览器中输入类型=“文件”浏览按钮的大小?

    无论如何 是否可以使用CSS或JS来调整firefox中输入类型 文件 浏览按钮的大小 我知道您无法更改按钮的文本 但我需要做的就是使该按钮在 Firefox 中更宽 所以使用 moz css 规则将是完美的 出于安全原因 文件输入按钮的样
  • 在Keras中编译模型后如何动态冻结权重?

    我想在 Keras 中训练 GAN 我的最终目标是开始 但我从最简单的目标开始 理解如何冷冻在这里 适当的权重是必要的 这就是我正在努力解决的问题 在生成器训练期间 鉴别器权重可能不会更新 我想freeze and unfreeze判别器交
  • 使用 libcurl 链接程序时出现未解析的符号

    我知道这是编程问题 但我只是很沮丧地试图找出我做错了什么 我使用的是 Visual Studio 2010 并遵循此处的所有步骤 http curl haxx se libcurl c visual studio pdf http curl
  • .NET 基准测试框架

    是否有用于编写微基准的 NET 框架 例如Japex https japex dev java net or this http ellipticgroup com html benchmarkingArticle html 两者都适用于J
  • Android GCM PHP 未经授权 401 错误

    最近我的 GCM 推送消息通知不再起作用 我没有更改任何内容 在我的 Google API 控制台中 如果白名单 IP 地址 我已经注册了我的专用服务器的 IPV6 但是当我尝试访问 GCM 服务时 我总是收到错误 未经授权 错误401 也
  • 有哪些例子可以说明在程序中使用括号会降低可读性?

    我一直认为括号提高了可读性 但在我的教科书中有这样一句话 使用括号会极大地降低程序的可读性 有人有例子吗 我可以找到很多反例lack括号降低了可读性 但我能想到的作者可能的意思的唯一例子是这样的 if a null a isSomethin
  • 如何在(Android)机顶盒上的 Chrome 中显示 FPS 仪表?

    我想在机顶盒 android 上的 Chrome 中使用 HTML5 标签显示视频的 FPS 在 Chrome 29 中 我可以使用chrome flags show fps counter使用 FPS 计 但是最新版本 50 我再也找不到
  • 安卓同屏分辨率

    在Android中 我需要相同的分辨率Default WVGA800 HVGA QVGA所有模拟器都意味着模拟器的大小现在不重要我有这个xml file我需要固定底部标签栏的大小 我该怎么办 现在我面临的问题是 我必须在底部为标签栏留出空间
  • 在 ASP.NET MVC 3 中使用 HtmlHelper 获取当前视图的 URL

    我问类似的问题here https stackoverflow com questions 10069687 use htmlhelper to get action in beginform method of asp net mvc 3
  • 当协方差矩阵为零时,如何在 R 中使用 prcomp () 函数?

    使用时princomp 在R函数中 遇到以下错误 covariance matrix is not non negative definite 我认为 这是由于协方差矩阵中的某些值为零 实际上接近于零 但在舍入期间变为零 当协方差矩阵包含零
  • 如何在 JPA/hibernate 中按带有“_”下划线的属性进行排序?

    JPA 默认按 拆分我的排序属性 因此它会抛出 找不到属性 异常 如果我从变量中删除下划线 它就可以正常工作 但我只想将 保留在我的实体属性中 我该怎么办 多变的 Column name CREATE TIME private LocalD
  • ASP.NET MVC - 仅限图像 + 经过身份验证的用户

    是否有可能以某种方式只允许经过身份验证的用户查看某些图像 我目前正在构建一个网络画廊 我不希望未经身份验证的用户能够看到这些图像 您可以将这些图像放在服务器上用户无权访问的某个位置 例如 App Data文件夹 以防止直接访问它们 然后使用