こんにちは、IIS 6 を適切に構成して約 2 日間、書き込み権限を付与しようとしていますが、これに関する適切なリソースが見つからないようです。 IISで。
私がやろうとしているのは、ファイルをサーバーにアップロードすることです。サーバー上の各ユーザーには、C# を介して自動的に作成される独自の特別なフォルダーがあり、ファイルをアップロードしようとすると、次のエラーが発生します。
パス 'D:\Projects IDE\Visual Studio\MyWork\Websites\Forum\Images\avatar\userAvatars\aleczandru' へのアクセスが拒否されました
これは、各ユーザーのフォルダーを作成してファイルを保存するための私のコードです。
private void addImageToApp()
{
string path = "~/Images/avatar/userAvatars/" + User.Identity.Name;
createPath(path);
if( Directory.Exists(HostingEnvironment.MapPath(path)))
{
try {
UploadImage.SaveAs(HostingEnvironment.MapPath(path));
MultiViewIndex.ActiveViewIndex = 0;
}catch(Exception ex)
{
AvatarDetails.Text = ex.Message;
}
}
}
private void createPath(string path)
{
string activeDir = HostingEnvironment.MapPath("~/Images/avatar/userAvatars");
if( !Directory.Exists(Server.MapPath(path)) )
{
string newPath = Path.Combine(activeDir, User.Identity.Name);
Directory.CreateDirectory(newPath);
}
}
インターネットで見つけることができるのは、フォルダー/プロパティ/セキュリティ/ ...を介して書き込み許可を追加する必要があるということだけですが、それはすべて問題ありませんが、フォルダーごとにこれを行うことはできません。
この時点まで、IIS を構成する必要があるかどうかはよくわかりません。これで少し迷っています。
フォルダの作成時にフォルダに書き込み権限を自動的に付与するにはどうすればよいですか?
そして、誰かがこれを行う方法を示す優れた記事またはチュートリアルを持っている場合は、それを共有してください。私が見つけたすべての情報は非常に基本的なものでした.
編集
ネットワーク サービス アカウントを Images フォルダーに完全な権限で追加し、アプリケーションのプール ID を NetworkService に設定しましたが、それでも同じエラーが発生します。
編集
この作業を行うために、過去数日間SQL-SERVERをいじっていたので、NETWORK SERVICEがSQL-SERVER master.dbデータベースに格納されていると理解しているものから何かを誤って構成した可能性があります.2つのネットワークがあるようですサービス ログインが問題である可能性がありますか?最初に確認したときは何もなかったのを覚えています。