私のWebサイトにはuploadsというフォルダーがあり、その中に各クライアント用のフォルダーがあります。私の質問は、ユーザー A がユーザー B からのアップロードを見るのを拒否するベスト プラクティスは何ですか?
4 に答える
これは、web.config の変更で行うことができます。こちらのドキュメントを参照してください: http://support.microsoft.com/kb/815151
基本的に、web.config は次のようになります。
<?xml version="1.0"?>
<configuration>
<location path="uploads/UserA">
<system.web>
<authorization>
<allow users="UserA"/>
<deny users="*"/>
</authorization>
</system.web>
</location>
<location path="uploads/UserB">
<system.web>
<authorization>
<allow users="UserB"/>
<deny users="*"/>
</authorization>
</system.web>
</location>
</configuration>
ユーザーが要求されたパスへのアクセスを許可されていない場合は、HttpHandler を使用して要求をインターセプトし、403 (または実行したいこと) を生成することを検討してください。
または、BeginRequest メソッドの Global.asax にロジックを配置することもできます。
次のようなデータ構造
があるとします。データベース列にファイル名を書き込むことができます。
したがって、True/False で「Allow-Anonymous」という列を追加できます。
サーバーからコンテンツにアクセスしているときに、db テーブルを確認します。isとis other の場合Allow-Anonymous
は、ページの表示を拒否します。それ以外の場合は、コンテンツを表示できます。False
Visiting-User
owner
DataBase mock:
Id Data Path OwnerId AllowAnonymous Status
1 Data-A ~/upload/Data-A 1 False True
コードのモック:
if(AllowAnonymous == True && UserId == OwnerId && Status == True)
// Show data on page
else
// Redirect to deny page
フォルダーに NTFS アクセス許可を使用して、ユーザーに認証を強制することができます。これは 2000 年にウェブサイト用に作成したものです。ただし、この場合は大砲を使って蚊を殺すようなものです。