如何确定代码中正在模拟的帐户
本文关键字:模拟 何确定 代码 | 更新日期: 2023-09-27 18:08:13
当我在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;
我需要知道如何找到试图创建的帐户的名称,理想情况下,在哪里更改它-我欢迎所有的想法!谢谢!
JourneyThroughCode正确。你必须进入IIS,点击"应用程序池",点击你的SharePoint web应用程序正在使用的应用程序池,然后在右侧点击"高级设置",你会看到身份。更改此帐户的密码时要小心,因为您必须进入中央管理员并在"管理帐户"下更改密码,以便中央管理员使用此身份。
SPSecurity。RunWithElevatedPrivileges在应用程序池帐户下运行,检查SharePoint站点的应用程序池的身份