Ciao,
mi si e' presentato questo problema con l'autenticazione OWIN.
Una volta verificato che l'utente e' un utente del mio sistema, tramite un servizio esterno, procedo con la pipeline OWIN
// Definizione della ClaimsIdentity
var oAuthIdentity = new ClaimsIdentity(
  new[] {
    new Claim(ClaimTypes.Name, logInModel.Username),
    new Claim("http://schemas.myapp.com/claims/userprofile/CustomINformation", "customInformation")
  }, "ApplicationCookie");

// Owin Context
var owinContext = this.Request.GetOwinContext();

// Athentication Manager
var authenticationMananger = owinContext.Authentication;

// SignIn
authenticationManager.SigIn(oAUthIdentity);


Ed effettivamente ora l'utente ha accesso all'Area Riservata.
In un successivo Controller avrei la necessita' di recuperare le informazioni salvate nella Claims collection dello User:
var claimsIdentity = this.User.Identity as ClaimsIdentity;

Quello che mi aspettavo, e che funzionava (!!!), e' che claimsIdentity fosse di tipo System.Security.Claims.ClaimsIdentity invece me lo ritrovo di tipo System.Security.Principal.WindowsIdentity, ma cosa ancora peggiore, con la claims collection vuota.
So che System.Security.Principal.WindowsIdentity deriva da System.Security.Claims.ClaimsIdentity dalla versione 4.5 del .NET Framework, ma non riesco a capire perche' ho questo comportamento "ambiguo", e soprattutto perche' i claims non siano salvati nel Cookie dello User.
Qualche suggerimento?

Grazie
Alberto
Se a qualcuno può interessare ho risolto il mio problema.
Anziché partire da un progetto ASP.NET MVC sono partito da un progetto Empty, al quale ho aggiunto MVC.
Poi mi sono installato i pacchetti necessari per OWIN da NuGet:
Install-Package Microsoft.Owin.Host.SystemWeb
Install-Package Microsoft.Owin.Security.Cookies


Per il resto, sostanzialmente resta valido quanto scritto nel mio post precedente, con la differenza che ora
var claimsIdentity = this.User.Identity as ClaimsIdentity;

claimsIdentity è di tipo System.Security.Claims.ClaimsIdentity e la claims collection è popolata.

Alberto

Torna al forum | Feed RSS

ASPItalia.com non è responsabile per il contenuto dei messaggi presenti su questo servizio, non avendo nessun controllo sui messaggi postati nei propri forum, che rappresentano l'espressione del pensiero degli autori.