我是SharePoint(3.0)中的網站集管理員/(物理服務器管理員),我正在調試其他用戶訪問我們某些功能的權限。無論如何,在不知道密碼的情況下,是否有可能以其他用戶身份(以及他/她的權利)登錄?我可以創建自己的「虛擬」用戶分配給相同的組,但如果用戶在那裏查看100個以上的組,則不是我今晚想要做的。 謝謝。以Sharepoint中的其他用戶身份登錄
- Ÿ
我是SharePoint(3.0)中的網站集管理員/(物理服務器管理員),我正在調試其他用戶訪問我們某些功能的權限。無論如何,在不知道密碼的情況下,是否有可能以其他用戶身份(以及他/她的權利)登錄?我可以創建自己的「虛擬」用戶分配給相同的組,但如果用戶在那裏查看100個以上的組,則不是我今晚想要做的。 謝謝。以Sharepoint中的其他用戶身份登錄
- Ÿ
我想通了另一種方式(my post for serverfault):
所以。將溶液如下:(不乾淨,但工作)
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設置菜單,安全等..)
我不知道您是否可以從UI只能模仿,但你可以務實地做到這一點。
我不是100%確定,但我認爲您可以創建ASP.NET頁面來處理模擬,從而讓您以您想要的用戶身份登錄。如果你正在尋找特定的東西,你當然可以運行代碼來確定你有什麼訪問。
這是一個有關如何運行模擬後置代號:
http://blackninjasoftware.com/2009/04/09/how-to-programmatically-impersonate-users-in-sharepoint/
感謝您指點我正確的方式。 – nothrow 2009-06-02 18:05:22
這應該是在serverfault.com。 – tvanfosson 2009-06-02 14:14:15
對不起。不知道serverfault。 – nothrow 2009-06-02 14:17:11
但我認爲,這對於管理員來說並不完全是問題,他們不需要這個,而是程序員.. – nothrow 2009-06-02 14:17:59