Мы используем систему единого входа «CAS», разработанную Jasig. И пытается аутентифицировать пользователей против него на сайте SharePoint 2010. Основная проблема заключается в том, что мы проверяем имя пользователя и пароль пользователя на внешнем сайте, который отправляет «тикет» обратно на наш сайт SP2010 через строку запроса. Наше приложение затем повторно проверяет этот билет в системе CAS, чтобы убедиться, что билет действителен. Если билет действителен, мы продолжаем и говорим, что пользователь аутентифицирован. В приложении .NET на данный момент все, что мне нужно сделать, это вызвать это:
FormsAuthentication.RedirectFromLoginPage(username, false);
Затем наш пользователь с именем «username» проходит аутентификацию, и все работает просто замечательно. В SharePoint, однако, этого недостаточно. Я могу получить SP 2010 только для аутентификации моего пользователя, если перед вызовом предыдущей строки я позвоню:
SPClaimsUtility.AuthenticateFormsUser(Request.Url, username, password);
Очевидно, что это огромная проблема, потому что на данный момент у меня нет их пароля. У меня есть только билет с сервера CAS. Мне нужен способ «принудительной» аутентификации пользователя в SharePoint.