2009-06-02 43 views
1

Ich bin Administrator der Websitesammlung/(physischer Serveradministrator) in SharePoint (3.0) und debugge die Rechte anderer Benutzer, um auf einige unserer eigenen Funktionen zuzugreifen. Ist es in irgendeiner Weise möglich, sich als ein anderer Benutzer (mit seinen Rechten) einzuloggen, ohne sein Passwort zu kennen? Ich kann meinen eigenen "Dummy" -Benutzer erstellen, der denselben Gruppen zugewiesen ist, aber wenn ich in mehr als 100 Gruppen bin, wenn der Benutzer dort ist, ist es nicht das, was ich heute Abend machen möchte. Danke.Anmelden als anderer Benutzer im Sharepoint

- y

+0

Dies sollte auf serverfault.com sein. – tvanfosson

+0

Entschuldigung. wusste nicht über Serverfault. – nothrow

+0

Aber ich denke, das ist nicht genau eine Frage für Administratoren, sie brauchen dies nicht, eher Programmierer .. – nothrow

Antwort

0

Habe ich es einen anderen Ausweg (my post for serverfault):

So. Die Lösung folgt: (nicht sauber, aber die Arbeit)

1) schreiben eigene IHttpModule, enthaltend:

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) Melden Sie es

3) GAC es

4) zu web.config().

Voila! Du bist der Mann. :) (natürlich habe ich Logik hinzugefügt, um Cookie-Einstellungen zu Menü, Sicherheit usw. hinzuzufügen.)

1

Ich weiß nicht, ob Sie nur von UI ausgeben kann, aber man kann es pragmatisch tun.

Ich bin nicht 100% sicher, aber ich denke, Sie könnten ASP.NET-Seite erstellen, die den Identitätswechsel behandeln würde, so dass Sie als der Benutzer, den Sie möchten, angemeldet bleiben. Sie können Code ausführen, um festzustellen, auf was Sie Zugriff haben, wenn Sie nach etwas Bestimmtem suchen.

Hier ist ein Beitrag dazu, wie Identitätswechsel Code auszuführen:

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

+0

danke für den richtigen Weg. – nothrow

Verwandte Themen