.netアプリケーション(実際にはumbraco)のサブディレクトリでiisnodeを使用して実行しているnodejsアプリがあります。
.netアプリケーションはフォーム認証を使用しており、.netアプリケーションと同じメカニズムを使用してiisnodeアプリケーションを保護したいと考えています。
モジュールをiisnodeアプリに登録しようとしましたが、イベントハンドラーが起動しないようです。これを行うことは可能ですか?
nodejs リクエストをインターセプトするための HttpModule を作成することは不可能のようです。しかし、私が求めていた認証情報を取得する方法を見つけました。
nodejs (expressjs) アプリで、リクエストからヘッダー (Cookie を含む) を取得し、同じヘッダーを使用して asp.net アプリケーションで特別に作成された URL にリクエストを送信するミドルウェアを作成しました。
この URL は、Cookie で指定されたユーザーのユーザー情報を返すだけです (Cookie が存在する場合)。情報が返ってきたら、ユーザーがログインしていることがわかります。情報がない場合は、ログインしていないことを意味し、umbraco ログイン ページにリダイレクトします。