Я работаю над проектом MVC 4. На самом деле проект включает в себя 3 модуля, которые общаются друг с другом. Пользователь может купить лицензию на любой из 3-х модулей или на все сразу. Мне нужно реализовать единый вход для веб-сайта, который мы создаем. Поэтому мы решили использовать Security Token Service, так как это будет более безопасно.
Я читал о STS, и у меня есть базовые знания о том, как это работает. Но проблема возникает, когда мне нужно реализовать это в реальном проекте. Честно говоря, я действительно не знаю, как это реализовать. Может ли кто-нибудь сказать мне, как реализовать пользовательскую STS? (Я работаю над .NET framework 4.5, MVC 4 и Visual Studio 2012).
Насколько я понимаю, все, что мне нужно, это унаследовать ClaimsAuthenticationManager
и переопределить метод Authenticate
? (Поправьте меня если я ошибаюсь). Если это так, где я могу проверить имя пользователя и пароль? Я уже сделал небольшую реализацию
public override ClaimsPrincipal Authenticate(string resourceName, ClaimsPrincipal incomingPrincipal)
{
if (!incomingPrincipal.Identity.IsAuthenticated)
{
return base.Authenticate(resourceName, incomingPrincipal);
}
return DressUpPrincipal(incomingPrincipal.Identity.Name);
}
в приведенном выше коде incomingPrincipal.Identity.IsAuthenticated
всегда false
. Как мне аутентифицировать пользователя в первую очередь?