Pregunta

He creado una costumbre RouteHandler para las imágenes que desea proteger. Mi RouteHandler simplemente toma una nueva ruta (gráficos / {nombre del archivo}) y realiza una búsqueda de la verdadera ruta del archivo, establece el tipo MIME, y sirve para arriba. Eso funciona bien. ( http: / /www.mikesdotnetting.com/Article/126/ASP.NET-MVC-Prevent-Image-Leeching-with-a-Custom-RouteHandler )

Lo que quería hacer a continuación era para hacer una verificación dentro de mi controlador personalizado para una variable de sesión que iba a establecer principios para asegurarse de que la persona que intenta ver la imagen tenía permiso para hacerlo.

Básicamente, pasarían un inicio de sesión (ingresa un código), que establecería una variable de sesión que iba a buscar en la costumbre RouteHandler.

Mi problema es que me parece que no puede conseguir en los datos de la sesión desde el interior de la costumbre RouteHandler.

Por último, mi pregunta es: ¿Cómo puedo configurar los datos en un controlador y tenerlo disponible para mí desde el interior de una costumbre RouteHandler en una solicitud posterior

¿Fue útil?

Solución

En primer lugar, desde el RequestContext aprobada en el método GetHttpHandler, no se puede acceder a través de la Sesión requestContext.HttpContext.Session? No estoy seguro, pude ver que esto no funciona de forma predeterminada, ya que es tan temprano en la tubería.

Si no es así, siempre se puede mover fácilmente la lógica de control de la sesión en el controlador mediante la adición de la IRequiresSessionState interfaz a su manejador.

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top