我是 SharePoint (3.0) 中的站点集合管理员/(物理服务器管理员),我正在调试其他用户访问我们自己的某些功能的权限。是否有可能以任何方式以其他用户(拥有其权限)身份登录而无需知道其密码?我可以创建自己的“虚拟”用户并将其分配到相同的组中,但如果有用户,则在 100 多个组中查找并不是我今晚想要做的事情。谢谢。
-- 是
答案1
我不知道有什么方法可以在没有密码的情况下使用帐户。但是,您可以复制 AD 中的用户,这将保留相同的组成员身份,然后您可以将密码设置为您想要的任何密码。
您需要做的就是右键单击用户,单击复制,然后填写所需的详细信息。
答案2
简短的回答——不是。
长答案 - 最佳做法是以逻辑和结构化的方式在 AD 和 SharePoint 中设置测试用户帐户,并将此任务添加到添加新用户组的管理流程中。这是您能够正确测试的唯一方法。当然,这些用户应该真的在您的测试环境中,但我意识到很多公司要么太吝啬,要么太愚蠢,要么两者兼而有之,无法为 SharePoint 的开发和测试环境提供资金,因此您可能不得不在现场进行。根据您的环境,这可能需要大量工作,但这确实是查看“营销部门的 Tony”是否真的无法访问营销提案库或他是否只是个呆子的唯一方法。
备选答案:使用 CoPilot 等远程控制软件接管 Tony 的计算机,亲自查看问题
@_nige MCTS SharePoint
答案3
所以。解决方案如下:(不干净,但有效)
1)编写自己的IHttpModule,包含:
class LoginModule {
public void Init(HttpApplication context)
{
context.PreRequestHandlerExecute += new EventHandler(UglyHack);
}
void UglyHack(object sender, EventArgs e)
{
HttpCookie wannabe = (HttpContext.Current.Request.Cookies["_sp_admin_wanna_be_user"]);
if (wannabe != null && SPContext.Current.Web.CurrentUser.IsSiteAdmin)
{
SPWeb cw = SPContext.Current.Web;
typeof(SPWeb).GetField("m_CurrentUser", BindingFlags.NonPublic | BindingFlags.Instance).SetValue(
SPContext.Current.Web,
cw.AllUsers[wannabe.Value]);
}
}
}
2)签名
3)GAC
4)到web.config()。
瞧!你就是那个男人。:)(当然,我添加了逻辑以将 cookie 设置添加到菜单、安全性等中。)