Мы пытаемся создать решение для однодоменного междоменного доступа с использованием ASP.NET MVC.Single-Sign-On ASP.NET MVC
Доступны ли существующие решения или учебные пособия?
Мы пытаемся создать решение для однодоменного междоменного доступа с использованием ASP.NET MVC.Single-Sign-On ASP.NET MVC
Доступны ли существующие решения или учебные пособия?
Если вы веб-приложения на одном сервере и же домена то все, что вам нужно сделать, это убедиться, что Validationkey и ключ шифрования являются одинаковыми в веб-конфигурации (MachineKey).
В вашем примере вам нужно будет приложить билет проверки подлинности в строке запроса, чтобы транспортировать его обратно в другой домен, например:
public void Login(string userName, string password)
{
if(AuthenticateUser(userName,password))
{
Response.Redirect(String.format("{0}?{1}={2}"),
Request.QueryString["ReturnUrl"],
FormsAuthentication.FormsCookieName,
FormsAuthentication.GetAuthCookie(userName, false).Value));
}
}
На местном применении необходимо включить аутентификацию Cookieless формы , и разрешить аутентифицированным пользователям поступать из внешних приложений, установив enableCrossAppRedirect.
<authentication mode="Forms">
<forms enableCrossAppRedirect="true" cookieless="useUri" />
</authentication>
Примечания:
Смотрите также FormsAuthentication.RedirectFromLoginPage - http://msdn.microsoft.com/en-us/library/ka5ffkce.aspx.
В моем случае ReturnUrl потерял доменную часть URL :(
Могут ли серверы разговаривать друг с другом или в этом отношении к одной и той же БД Если поэтому решение довольно просто –
эй -.. Да www.example.com - это единый веб-сайт с БД. БД распространена во всех входах, поэтому его в основном просто «удаленный» сайт должен аутентифицироваться с помощью www.example.com и т. д. – Mike