5

ASP.NETWebサイトのHTMLページからPDFを生成するタスクに直面しています。(ユーザーが保存/印刷できるもの)

私は、WKHTMLToPDFがこれを見て非常にうまく機能していることを発見しました:

wkhtmltopdfを呼び出してHTMLからPDFを生成する

しかし、私には問題があります。当社のウェブサイトはイントラネットサイトであり、Windows認証を使用しています。--usernameと--passwordを使用して資格情報をWKHTMLToPDFに渡し、Webページが希望どおりに生成されることを自分自身に示すことができます。

問題はこれです:私たちのシステムに入ってくるそれぞれの異なるユーザーのために何をすべきか?うまくいくかもしれないし、うまくいかないかもしれないいくつかの可能な解決策を考えることができます、そして私は私の研究の終わりに来たように見えるので誰かが私にいくつかの意見/ガイダンスを与えることを望んでいました。

可能な解決策:

  1. WKHTMLToPDFに渡すためにユーザーのクレデンシャルからユーザー名とパスワードを抽出できるASP.NETの方法はありますか?これに対する答えは「いいえ、そして理にかなった理由で」だと思います
  2. プロセスを実行してユーザーの資格情報を渡すことは可能ですか?プロセスでユーザー名/パスワードを設定できることがわかります(ただし、パスワードが公開されていないようであるため、資格情報からこれを渡す方法はわかりません)。おそらく、クレデンシャルを直接Processに渡すための別の方法がありますか?
  3. Windows認証を使用しない別のPDFGeneratorWebサイトを作成できます。次に、セキュリティで保護されたWebサイトから共有ディレクトリにHTML / CSS /画像を移植し、ユーザーをPDFGenerator Webサイトにリダイレクトして、認証を気にすることなくHTMLから実際にPDFを生成できます(PDFの後にHTMLなどをクリーンアップします)生成された)。

3は私が最終的に説得する解決策だと思いますが、それは基本的に認証の問題に対処するための1つの大きな回避策であるため、1または2でより良い提案や支援を受け入れることができます。

4

1 に答える 1

2

web.configで偽装を設定できます。

http://msdn.microsoft.com/en-us/library/aa292118%28v=vs.71%29.aspx

これは、実行されるすべてのものがユーザーとして実行されることを意味します。ただし、特定のシナリオでは、これにより問題が発生する可能性があります。これは、サイトがアプリプールのIDではなく、そのセッションのユーザーのクレデンシャルで実行されていることを意味します。適切に機能し、安全であるようにWebアプリを設定するには、フープを飛び越える必要があります。

ほとんどの通常の構成では、実行するものはすべてアプリプールの資格情報を取得することに注意してください。アプリプールのアカウントを変更できます。これにより、アプリプールを実行しているユーザーからのアクセスのみを許可することで、物事をロックダウンしたままにすることができます。

他の代替手段は、なりすましを使用するメインアプリとは別に別のアプリを用意することです。これは、アプリ全体を偽装を使用するように変換するよりも管理しやすい場合があります。(あなたのプロジェクトの詳細はわかりませんので、ここで具体的な提案をするのは難しいです。)

于 2011-06-14T14:49:41.367 に答える