1

当我在 SharePoint 2010 下运行代码时遇到拒绝访问错误时,我需要弄清楚正在模拟哪个帐户。

我继承了这个项目,几乎没有资源重叠,也没有足够的基础知识来提出正确的问题。

作为 SharePoint 解决方案的一部分部署了一个 aspx 页面,该解决方案试图在文件共享上创建目录,但无法执行此操作,捕获的异常表明访问被拒绝。抛出异常的方法通过调用SPSecurity.RunWithElevatedPrivileges(MethodName) 运行;在创建尝试之前运行以下代码并将UserName变量打印到日志表明服务帐户应该完全控制共享

SecurityIdentifier user = System.Security.Principal.WindowsIdentity.GetCurrent().User;
String UserName = user.Translate(typeof(System.Security.Principal.NTAccount)).Value;

我需要知道如何找到尝试创建的帐户的名称,理想情况下,在哪里更改它 - 我欢迎所有想法!谢谢!

4

2 回答 2

1

SPSecurity.RunWithElevatedPrivileges 在应用程序池帐户下运行,检查您的 SharePoint 站点的应用程序池标识。

于 2013-04-09T21:23:01.733 回答
1

JourneyThroughCode 是正确的。您必须转到 IIS 并单击“应用程序池”,单击您的 SharePoint Web 应用程序正在使用的应用程序池,然后在右侧单击“高级设置”,您将看到身份。更改此帐户的密码时要小心,因为您随后必须进入 Central Admin 并更改“Managed Accounts”下的密码,以便中央管理员使用此身份。

于 2013-04-10T05:52:54.600 回答