【发布时间】:2011-09-25 06:14:46
【问题描述】:
我的 Web 应用程序必须访问本地资源、文件/文件夹,才能执行 git clone/pull/push。我创建了一个单独的应用程序池,其中进程标识 == 我自己的帐户(机器管理员)。
但是,如果我这样做:
Environment.GetFolderPath(Environment.SpecialFolder.LocalApplicationData)
返回值:
"C:\\Windows\\system32\\config\\systemprofile\\AppData\\Local"
所以,系统配置文件似乎仍在使用中。 git clone 和其他 git 操作挂了,好像找不到 .ssh 密钥等。
有趣的是,它在 Windows SP1 更新之前运行良好(至少我责怪更新,因为机器上没有更多变化)。
【问题讨论】:
-
当该行运行时,您是否在调试器中检查了 Thread.CurrentPrincipal 是什么?
-
是的,它会正确返回“我的”帐户。
-
它返回:[System.Web.Security.FormsIdentity]: {System.Web.Security.FormsIdentity} AuthenticationType: "Forms" IsAuthenticated: true Name: "admin"
-
不应该有windows身份吗?
-
我认为你是对的。这可能是一些问题。至少一些信息..