[英]IIS Express using an unkown user to perform write
我有一個 ASP.Net MVC web 應用程序,我試圖在其中允許用戶將 PDF 文件上傳到應用程序內的文件夾。
string path = "Case_Log_Docs";
if (!Directory.Exists(path))
{
Directory.CreateDirectory(path);
System.Diagnostics.Debug.WriteLine("Created the folder.");
}
if (PostedFile != null)
{
string fileName = Path.GetFileName(PostedFile.FileName);
System.Diagnostics.Debug.WriteLine(fileName);
PostedFile.CopyTo(new FileStream(path, FileMode.Create));
ViewBag.Message += string.Format("<b>{0}</b> uploaded.<br />", fileName);
}
但是我得到一個Unauthorized User: Access denied
錯誤。 我使用 Process Monitor 並監視這個應用程序編寫一個文件和一個不同的(並且完全可操作的)應用程序來做同樣的事情。 我注意到在正在運行的應用程序中,IIS Express 在嘗試(並成功)將文件寫入指定文件夾時使用自己作為用戶。 但是,有問題的應用程序將此值用作用戶: S-1-5-21-1092590740-2774964217-3234137035-256211
。
我已經嘗試過這個問題的答案: how to run iisexpress app pool under a different identity
但是對於第一個答案,我沒有 .config 文件,所以這不起作用。 我確實完成了指導您使用 runas 命令的第二個答案,但它沒有解決我的錯誤。
所以我的兩個問題是:
1.) 為什么 IIS Express 使用這個值而不是當前用戶(我自己)?
2.) 如何指示 IIS Express 使用自己作為用戶? 我什至不知道 IIS Express 可以使用當前用戶以外的任何東西。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.