Domanda

Ho creato un servizio token di sicurezza (STS), un servizio con un riferimento alla STS e un esempio di applicazione desktop.

Questo funziona come previsto quando si utilizzano l'autenticazione di Windows e la sicurezza dei messaggi, un token viene recuperato dalla STS e il metodo di servizio viene chiamato correttamente. Il servizio restituisce una stringa contenente l'identità degli utenti attuali, che restituisce il mio nome utente pubblicitario.

Ho il requisito tuttavia di autenticare contro un database anziché su AD. Ho provato a creare un CustomUserNameValidator (nelle STS, è questo il posto corretto?) E facendolo riferimento a Web.Config. Quindi fornisco le credenziali come mostrato di seguito.

SampleServiceReference.SampleServiceClient client = new SampleServiceReference.SampleServiceClient(); client.ClientCredentials.UserName.UserName = "alex"; client.ClientCredentials.UserName.Password = "pass";

Credo che i certificati siano impostati correttamente (tutti usando "localhost"), tuttavia ricevo la seguente eccezione quando chiamo il servizio:

System.ServiceModel.FaultException: ID3242: il token di sicurezza non può essere autenticato o autorizzato.

Qualunque cosa provo sembra fallire. Quello che sto descrivendo è anche possibile? Il cliente di servizio passa anche le credenziali del cliente fino alla STS o sto completamente fraintendendo cosa sta succedendo qui?

Questa domanda di stackoverflow è simile, tuttavia ho controllato l'URL del pubblico e sembra ok. WIF STS ID3242

Qualcuno ha qualche consiglio su come posso ottenere l'autenticazione personalizzata quando uso una STS?

Nessuna soluzione corretta

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top