我为我想要保护的图像创建了一个自定义路由器。我的RouteHandler只是采用新路由(Graphics/{filename}),并为真实的文件路径进行查找,设置MIME类型并将其提供服务。很好。 ((http://www.mikesdotnetting.com/article/126/asp.net-mvc-prevent-image-image-image-image-leeching-with-a-custom-routehandler)

我想做的下一步是在我的自定义处理程序中检查一个会话变量,以确保试图查看图像有权这样做的人设置该会话变量。

基本上,他们将通过登录名(输入代码),该登录将设置我在自定义RouteHandler中寻找的会话变量。

我的问题是,我似乎无法从自定义RouteHandler中获得会话数据。

最后,我的问题是:如何在控制器中设置数据,并在随后的请求中从自定义RouteHandler中使用它?

有帮助吗?

解决方案

首先,从requestContext传递给Gethttphandler方法,您可以通过 requestContext.HttpContext.Session?我不确定,我是否会看到默认情况下它不起作用,因为它已经很早了。

如果没有,您始终可以通过添加添加 IrequiressessionState 与处理程序的接口。

许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top