2009-06-02 73 views
1

我是SharePoint(3.0)中的網站集管理員/(物理服務器管理員),我正在調試其他用戶訪問我們某些功能的權限。無論如何,在不知道密碼的情況下,是否有可能以其他用戶身份(以及他/她的權利)登錄?我可以創建自己的「虛擬」用戶分配給相同的組,但如果用戶在那裏查看100個以上的組,則不是我今晚想要做的。 謝謝。以Sharepoint中的其他用戶身份登錄

- Ÿ

+0

這應該是在serverfault.com。 – tvanfosson 2009-06-02 14:14:15

+0

對不起。不知道serverfault。 – nothrow 2009-06-02 14:17:11

+0

但我認爲,這對於管理員來說並不完全是問題,他們不需要這個,而是程序員.. – nothrow 2009-06-02 14:17:59

回答

0

我想通了另一種方式(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設置菜單,安全等..)

1

我不知道您是否可以從UI只能模仿,但你可以務實地做到這一點。

我不是100%確定,但我認爲您可以創建ASP.NET頁面來處理模擬,從而讓您以您想要的用戶身份登錄。如果你正在尋找特定的東西,你當然可以運行代碼來確定你有什麼訪問。

這是一個有關如何運行模擬後置代號:

http://blackninjasoftware.com/2009/04/09/how-to-programmatically-impersonate-users-in-sharepoint/

+0

感謝您指點我正確的方式。 – nothrow 2009-06-02 18:05:22

相關問題