Вход в систему как другой пользователь в sharepoint - PullRequest
1 голос
/ 02 июня 2009

Я администратор семейства сайтов / (администратор физического сервера) в SharePoint (3.0), и я отлаживаю права других пользователей для доступа к некоторым из наших собственных функций. Можно ли каким-либо образом войти в систему как другой пользователь (со своими правами), не зная его пароль? Я могу создать своего собственного «фиктивного» пользователя, назначенного тем же группам, но при поиске в 100+ группах, если пользователь там есть, я не хочу этим вечером заниматься. Спасибо.

- у

Ответы [ 2 ]

1 голос
/ 02 июня 2009

Я не знаю, можете ли вы подражать только с помощью пользовательского интерфейса, но вы можете сделать это прагматично.

Я не уверен на 100%, но я думаю, что вы можете создать страницу ASP.NET, которая будет обрабатывать олицетворение, таким образом оставляя вас вошедшим в систему как нужный вам пользователь. Конечно, вы можете запустить код, чтобы определить, к чему у вас есть доступ, если вы ищете что-то конкретное.

Вот пост о том, как запустить код олицетворения:

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

0 голосов
/ 02 июня 2009

Я понял это по-другому ( мой пост для 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) to web.config ().

Вуаля! Ты мужчина. :) (конечно, я добавил логику, чтобы добавить настройки cookie в меню, безопасность и т. д.)

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...