Единая точка входа ASP.NET MVC

Мы пытаемся создать междоменное решение единой точки входа с помощью ASP.NET MVC.

Какие-либо существующие решения или доступные учебные руководства?

8
задан Mike 9 May 2010 в 17:43
поделиться

1 ответ

Если ваши веб-приложения находятся на одном сервере и одном домене , то все, что вам нужно сделать, это застраховать что ключ проверки и ключ шифрования совпадают в веб-конфигурации (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));
    }
}

В локальном приложении вы должны включить аутентификацию форм без файлов cookie и разрешить аутентифицированным пользователям приходить из внешних приложений, установив enableCrossAppRedirect.

<authentication mode="Forms">
    <forms enableCrossAppRedirect="true" cookieless="useUri" />
</authentication>

Примечания:

  1. См. Также FormsAuthentication.RedirectFromLoginPage - http://msdn.microsoft.com/en-us/library/ka5ffkce.aspx .

  2. В моем случае ReturnUrl потерял часть URL-адреса домена: (

10
ответ дан 5 December 2019 в 17:35
поделиться
Другие вопросы по тегам:

Похожие вопросы: