2011-11-29 41 views
0

我正在使用基于Monorails的应用程序,该应用程序在运行时生成图像/图表。该代码将图像写入OutputStreams而不是写入Appserver硬盘。它允许用户下载图像。我想确保只有登录用户才能下载图像,而不是其他人。只允许登录用户下载图像

例如,如果任何用户A试图下载为用户B生成的图像,则用户A不应该能够做到这一点。

注:我没有将文件存储到硬盘上。

我该如何实现?

下面是我为图像下载写的示例代码。

var stream = new MemoryStream(); 
Response.Clear(); 
Response.ContentType = "application/image"; 
Response.AddHeader("Content-Disposition","attachment; filename=" + imagefilename); 
var array = stream.To Array(); 
Response. OutputStream.Write(array,0,array.length); 
Response.End(); 

请帮我解决这个问题。

感谢, 拉胡尔

+0

到目前为止没有。仍然在研究,我更像是一个业务层开发人员,在UI方面工作不多。有什么好的建议? –

回答

0

您需要逻辑代码来检查,如果登录的用户“拥有”他们正试图下载图像。

如果他们不'拥有'它,Response.End他们的请求