2010-12-15 81 views
1

Nous avons une application web qui utilise la sécurité des formulaires.Html en PDF et sécurité

Une des options inclut la possibilité d'imprimer une page html en PDF. Nous évaluons actuellement différents produits comme PdfMetamorphosis, mais je crois que tous auront ce problème.

Le client fait une demande pour le pdf en cliquant sur un bouton lien. Le code du bouton instancie le générateur PDF et lui transmet une URL à convertir. Cependant, l'URL est derrière notre authentification par formulaire. Ce qui signifie que le PDF résultant n'est rien d'autre qu'une page de connexion.

Malheureusement, nous avons besoin des informations d'utilisateur afin de vérifier l'accès à la page imprimée (entre autres raisons). Ce qui signifie que je ne peux pas autoriser l'accès à tout le monde dans ce dossier.

J'ai donc besoin d'une des trois solutions possibles.

1) J'ai besoin d'un moyen de donner au composant PdfMetamorphosis le ticket d'autorisation à transmettre dans sa requête.
2) J'ai besoin d'un composant html to pdf qui va le faire.
3) Quelque chose d'autre?

Je ne pense pas que le premier est possible et je n'ai pas été en mesure de trouver un composant html en pdf qui en tienne compte.

Des idées?

+1

Pouvez-vous vérifier leur permission avant de cliquer sur Imprimer, pourquoi leur montrer un bouton d'impression au format PDF s'ils n'ont pas la permission. Si ce n'est pas possible, pouvez-vous remplacer le bouton Imprimer au format PDF pour afficher d'abord une boîte de dialogue modale s'ils n'ont pas de jeton d'accès, puis transmettre leur requête s'ils en ont la permission. – Zachary

+0

@Zack: Le problème est que le composant qui s'exécute sur le serveur envoie une requête au fichier html. Lorsqu'il fait cette demande, le serveur vérifie à nouveau la sécurité. Je ne vois pas comment transmettre les informations d'identification de sécurité pour cette demande. Avoir du sens? – NotMe

+0

Vous ne pouvez pas transmettre les informations de connexion dans l'URL transmise au constructeur? Cela signifie que la page d'authentification de votre formulaire aurait besoin de le faire, bien sûr –

Répondre

1

Vous pouvez essayer de transmettre les informations de connexion dans l'URL transmise au générateur. Cela signifie que la page d'authentification de votre formulaire devra bien sûr le supporter. Maintenant, puisque la connexion à Forms Auth utilise probablement des cookies, vous devrez vérifier que le PDF Builder supporte les cookies quand il obtient le document de l'URL. Si ce n'est pas le cas, vous devrez écrire une sorte de classe frontend qui chargera le document à partir de l'URL, en prenant en charge les cookies d'authentification Forms, et le transmettra en tant que fichier ou flux à PDF Builder. traitement final.

+0

gracias. Mon cerveau n'est apparemment pas venu travailler avec moi aujourd'hui. J'espère pouvoir le reprendre plus tard pour le dîner. – NotMe