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