是否有可能以某种方式只允许经过身份验证的用户查看某些图像?我目前正在构建一个网络画廊,我不希望未经身份验证的用户能够看到这些图像。
您可以将这些图像放在服务器上用户无权访问的某个位置(例如~/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(使用前将#替换为@)