CF9を使用しています。私の問題は、ログイン時にセッション変数を設定してユーザーとユーザーのアクセス許可を識別する管理アプリケーションに関係しています。ユーザーレベルに応じて、特定のページが表示可能になり、その他のページは表示できなくなります。(これを「セキュリティ フレームワーク」と呼びます。これは、ルート内のすべてをラップしています。)
このセキュリティ フレームワークはcfif
、CFM ページの上部にあるステートメントと、ページの最後cfelse
と最後にあるステートメントで構成され(</)cfif
ます。ユーザーがそのレベルの権限を持っている場合、この開始cfif
と終了の間のすべてが表示されます-標準的なもの。cfif
一部のユーザーは PDF ファイルをアップロードできますが、ここでは問題ありません。PDF ファイルはルート外のフォルダーにアップロードされ、ルート内のフォルダーに移動され、名前が変更されます。
アップロード時に、ユーザーはカテゴリやサブカテゴリなどを選択します。これらの変数は、アップロード プロセス中に SQL データベースに挿入されます。したがって、ユーザーがブラウザーで PDF (パスワード保護) をクリックしてロードできるように、ページに動的リンクを設定するための filePaths と fileNames などがあります。
ShowThisPDF.cfm?
URL 変数を持つ を指す動的リンクがありますfilePath= #filePath# & fileName = #fileName#
。ページの上部と下部にセキュリティ フレームワークを設定しShowThisPDF.cfm
、アップロードされた PDF をこのページにコピーして、PDF がブラウザに表示されるようにしようとしています。
cfdocument
やcfpdf
などを使ってこれを行う多くの方法を試しましたcfcontent
。これがスローされているというエラーを読むと、アップロードされたファイルに到達しているように見えますが、セキュリティのために毎回「アクセスが拒否されました」と表示されますフレームワークだと思います。
余談ですが、このアプリケーションの他の場所ではcfdocument
、セキュリティ フレームワークをページにラップして cf ページから PDF を作成できます。これは完全に機能し、ブラウザに PDF を表示します。私の問題は、セキュリティフレームワークを持つCFMページに既存のPDFをロードすることです-これにより、PDFをロードできるはずです。
上記をどのように達成できるかについて、誰にもアイデアがありますか? 私は自分のセキュリティをバイパスしようとするのが嫌いで、アップロードされた PDF をセキュリティ フレームワークで PDF をラップする CFM ページに "コピー" し、ブラウザで PDF を表示するのが論理的だと思われます。