私は、ユーザーが自分の写真アルバムを作成してウェブサイトにアップロードできるウェブサイトを作成しようとしています。私はこのWebサイトを開発するためにASP.NET(C#)を使用するつもりです。 各ユーザーは、共有アイテムが許可されていないそのユーザー専用の一連のイメージにアクセスできます。そのため、ユーザーは自分のユーザー名とパスワードを持ってログインする必要があります。 2つの質問があります。どこに画像を保存して、アクセスコントロールと制限を設定する必要がありますか? ユーザーを認証する最も安全な方法は何ですか?セキュリティで保護されたフォルダと認証
1
A
答えて
0
ファイルをアップロードして、ユーザーのUserIdとそのパスを表すレコードを追加します。
それとも、画像を保存するには、SQL Server 2008のの(あなたが使用できる)FileStreamオブジェクトに直接アップロードすることができます - と、まだユーザーがちょうどのMembershipProviderを使用して認証するには、ユーザーのユーザーID
にリンクレコードを持っています。ユーザーIDはログインに関連付けられます。それはイメージを調べるための鍵になります。
名前やユーザーIDはさまざまな方法で取得できます。参照してください: How can I access UserId in ASP.NET Membership without using Membership.GetUser()? Id(ProviderUserKey経由)を取得する方法の詳細は
ありがとうございました。それから、SQLサーバにイメージをアップロードすることは容認できますか?イメージは巨大なファイルを持っていますが、それらの多くがあります。それはイメージのようなデータを保持する最善の方法ですか? 実際には、httpdocsフォルダ内のフォルダ内にあるかどうかにかかわらず、イメージをフォルダ(ベースではない)に配置することになっているかどうかは疑問です。そのフォルダ(httpdocs)のコンテンツはURLからアクセスできるので、セキュリティ設定をどのようにフォルダに適用できますか? –
SQLにアップロードすることを推奨する方法は、ファイルを指すだけで、実際にはSQLサーバーには格納されません。アプリケーションの外にあるフォルダ、または直接アクセスできないアプリケーション内のフォルダに入れます。このフォルダは、web.config認可ルールで制御できます。次に、クライアントにファイルをResponse.WriteFileできます。 –