0

Je suis tombé sur le ImageResizer de ImageResizing.net et je me demande comment je pourrais l'intégrer à mon site web. Nous avons beaucoup de fichiers \ images que nous considérons ouverts au public et nous en avons d'autres qui sont privés. Nous avons toutes nos images dans un dossier sécurisé sur le serveur web non accessible via l'url et nous avons une base de données qui lie à ces fichiers. Nous utilisons un gestionnaire Web (ashx) pour fournir l'image à l'utilisateur (pages Web, etc.), car les règles sur la possibilité pour un utilisateur d'afficher un fichier sont beaucoup plus complexes que le rôle auquel il appartient. Par exemple, certaines images ne sont visibles que par les utilisateurs auxquels nous avons envoyé une demande (le DB détient cette information de relation). Nous ne stockons pas les fichiers/images dans la base de données comme Blob car cela augmenterait considérablement notre taille de DB (en utilisant SQLServer Express donc il faut rester sous la limite de 10GB) plus je pense que cela aurait un impact sur les performances mais je pourrais me tromper . Cela dit, quelle est la meilleure approche pour utiliser le ImageResizer?imageresizing.net sur un système de fichiers hybride (Database Driven lié à des fichiers de données sur un système de fichiers)

J'ai lu quelques-uns sur le IViertualImageProvider et je pense que je devrais écrire un plugin en utilisant ce format (http://imageresizing.net/docs/extend/virtualimageprovider). Aurais-je juste mis dans ma logique d'authentification/autorisation ici pour déterminer si une image est livrée ou non. Y a-t-il un meilleur moyen? Est-ce que quelqu'un a déjà construit un plugin pour ce scénario?

Répondre

0

Ceci s'appelle Autorisation. Vous pouvez implémenter la logique d'autorisation dans votre événement HttpApplication ou l'événement AuthorizeRequest de IHttpModule. ImageResizer propose également un événement AuthorizeImage qui s'applique uniquement aux images traitées. Si vos images sont sur le système de fichiers ou fournies par VirtualPathProvider, elles sont accessibles sans passer par ImageResizer, vous devez donc utiliser l'approche AuthorizeRequest.

Questions connexes