ebb*_*ebb 5 asp.net-mvc asp.net-mvc-3
有可能以某种方式只允许经过身份验证的用户查看某些图像吗?我正在建立一个网络图库,我不希望未经过身份验证的用户能够看到图像.
Dar*_*rov 12
您可以将这些图像放在用户无权访问的服务器上(例如~/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");
}
Run Code Online (Sandbox Code Playgroud)
然后:
<img src="@Url.Action("Image", "SomeController", new { name = "foo" })" alt="" />
Run Code Online (Sandbox Code Playgroud)
在视图内部,您还可以在显示图像之前测试用户是否经过身份验证.
| 归档时间: |
|
| 查看次数: |
2085 次 |
| 最近记录: |