Si sta tentando di creare una soluzione di accesso singolo su più domini tramite ASP.NET MVC.Single-Sign-On ASP.NET MVC
Eventuali soluzioni o esercitazioni disponibili?
Si sta tentando di creare una soluzione di accesso singolo su più domini tramite ASP.NET MVC.Single-Sign-On ASP.NET MVC
Eventuali soluzioni o esercitazioni disponibili?
Se voi le applicazioni web sono sullo stesso server e stesso dominio allora tutto quello che dovete fare è assicurare che il validationKey e chiave di crittografia sono gli stessi nella configurazione web (machineKey).
Nel tuo esempio è necessario aggiungere il ticket di autenticazione per la stringa di query, per trasportare di nuovo al loro dominio, ad esempio:
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));
}
}
Sulla applicazione locale è necessario abilitare l'autenticazione di form senza cookie e consentire agli utenti autenticati di provenire da applicazioni esterne impostando enableCrossAppRedirect.
<authentication mode="Forms">
<forms enableCrossAppRedirect="true" cookieless="useUri" />
</authentication>
Note:
Vedi anche FormsAuthentication.RedirectFromLoginPage - http://msdn.microsoft.com/en-us/library/ka5ffkce.aspx.
Nel mio caso ReturnUrl perso parte del dominio dell'URL :(
Possono i server parlare tra loro o per quella materia allo stesso DB Se è così la soluzione è piuttosto semplice –
hey -. Si. www.example.com - è un singolo sito Web con DB. Il DB è comune a tutti gli accessi, quindi fondamentalmente solo il sito Web "remoto" deve essere autenticato con www.example.com, ecc. – Mike