2009-07-22 13 views
1

現在、IIS 7でASP.NET 3.5 SP1が実行されています。.NETメンバーシップを使用してフォーム認証を有効にし、作成したロールに従って制限されたフォルダをいくつか設定しました。たとえば、匿名の訪問者がファイルhttp://www.example.com/restricted/foo.txtにアクセスしようとすると、期待通りにログインページにリダイレクトされます。ここまでは順調ですね。クエリーコードによるASP.NETフォーム認証

http://www.example.com/foo.txt?user=username&pass=pwd

ですべての可能なこのです:私がやりたい何

は一人で何か行は、訪問者がクエリ文字列に自分のログイン資格情報を指定できるようにすることで、保護されたファイルへのアクセスを提供しているのですか?

答えて

0

あなたは要求をインターセプトし、クエリ文字列に基づいてユーザを認証するHTTPモジュールを記述することができるはずです。しかし、完全性のために、ユーザ名と(特に)パスワードをプレーンテキストでユーザに提供することは良い考えであるかどうか疑問に思っています。

+0

ありがとう:サブフォルダは、認証されていないユーザーは、のような:-)

何か内のコンテンツへのアクセスを可能にweb.configファイルを持つことができます。前にhttpモジュールを書いたことはありませんでしたが、私はそのルートを追求し、それがどのように動作するかを教えてくれるでしょう! –

+0

ちなみに、誰かがセキュリティの問題を提起すると思いました。私は、この機能をサイトのほとんどのユーザーと共有するつもりはありません。目標は、サイトのウィジェットがファイルにアクセスできるようにすることです(入力としてURLが必要です)。このウィジェットに対して指定しているユーザーロールは非常に限定的なので、重要なデータは公開されません。私は、ウィジェットで使用されるファイルに少なくともある程度のセキュリティを提供すると思っていましたが、確かに絶対確実ではないことは認めています。 –

0

ユーザーを認証して要求されたファイルに転送するダウンロードページを簡単に作成できます。 Download.aspxにナビゲートするような何か?user = username & pass = pwd & file = foo.txt

しかしこれは推奨されません。ユーザーは、URL経由でログイン情報を渡す必要はありません。

+0

フィードバックをよろしくお願いします。セキュリティに関して上記の私のコメントを参照してください。私の本当のジレンマは、私のウィジェットがアクセスできるURLを渡す必要があることです(ローカルパスを渡すのが理想的ですが、サードパーティのウィジェットであるためウェブURLでなければなりません)。 –

0

あなたが他の質問にしたコメントに基づいた副回答は、単にあなたのダウンロードページをディレクトリに置くことができるということです。迅速な答えは、ジョエルのため

<configuration> 
    <system.web> 
     <authorization> 
     <allow users="*" /> 
     </authorization> 
    </system.web> 
</configuration> 
関連する問題