IIS ユーザーにフォルダーのアクセス許可を与える必要があります。
実際に私はこのようなコードを書きました..
public static void AddDirectorySecurity(string FileName, string Account, FileSystemRights Rights,AccessControlType ControlType)
{
DirectoryInfo dInfo = new DirectoryInfo(FileName);
DirectorySecurity dSecurity = dInfo.GetAccessControl();
dSecurity.AddAccessRule(
new System.Security.AccessControl.FileSystemAccessRule(objUser, Rights, ControlType));
dInfo.SetAccessControl(dSecurity);
}
この上記のメソッドを次のように呼び出します...
void givepermission()
{
DirectoryInfo a = new DirectoryInfo(Server.MapPath("~/resources"));
AddDirectorySecurity(Server.MapPath("~/"), "IUSR", FileSystemRights.FullControl,AccessControlType.Allow);
}
しかし、ローカルでその作業。サーバーが機能していないとき。
IUSRの代わりに、次のアカウント名を試しましたが、それも機能しません..
IIS_IUSRS
IIS_WPG
Network Service
Everyone
など..
代わりに IIS_IUSRS。私もこんな風にしてみました…
System.Environment.MachineName + "\\IIS_IUSRS"
IIS_IUSRS_System.Environment.MachineName
System.Environment.UserDomainName + "\\IIS_IUSRS"
etc..
しかし、これも機能しませんが、「一部またはすべてのアイデンティティ参照を翻訳できませんでした」とスローしています
注:許可を手動で設定したくありません
誰かがこれで私を助けることができます..?