Procedura: creare un provider di token di protezione personalizzati

In questo argomento viene illustrato come creare nuovi tipi di token con un provider di token di protezione personalizzati e come integrare il provider con un gestore di token di protezione personalizzati.

Nota

Creare un provider di token personalizzati se i token forniti dal sistema, presenti nello spazio dei nomi System.IdentityModel.Tokens, non corrispondono ai propri requisiti.

Il provider di token di protezione crea una rappresentazione dei token di protezione in base alle informazioni presenti nelle credenziali del client o del servizio. Per utilizzare il provider di token di protezione personalizzati nella protezione Windows Communication Foundation (WCF), è necessario creare credenziali personalizzate e implementazioni del gestore dei token di protezione.

Per ulteriori informazioni sulle credenziali personalizzate e il gestore dei token di protezione, vedere Procedura: creare credenziali client e del servizio personalizzate.

Per ulteriori informazioni sulle credenziali, il gestore dei token di protezione e le classi di provider e autenticatori, vedere Architettura della protezione.

Per creare un provider di token di protezione personalizzati

  1. Definire una nuova classe derivata dalla classe SecurityTokenProvider.

  2. Implementare il metodo GetTokenCore. Il metodo è responsabile della creazione e della restituzione di un'istanza del token di protezione. Nell'esempio seguente viene creata una classe denominata MySecurityTokenProvider ed eseguito l'override del metodo GetTokenCore, per restituire un'istanza della classe X509SecurityToken. Il costruttore della classe richiede un'istanza della classe X509Certificate2.

Per integrare un provider di token di protezione personalizzati con un gestore di token di protezione personalizzati

  1. Definire una nuova classe derivata dalla classe SecurityTokenManager. L'esempio seguente deriva dalla classe ClientCredentialsSecurityTokenManager, che deriva dalla classe SecurityTokenManager.

  2. Eseguire l'override del metodo CreateSecurityTokenProvider, se non lo si è già fatto.

    Il metodo CreateSecurityTokenProvider è responsabile della restituzione di un'istanza della classe SecurityTokenProvider adatta al parametro SecurityTokenRequirement passato al metodo dal framework di protezione WCF. Modificare il metodo per restituire l'implementazione del provider di token di protezione personalizzati (creato nella procedura precedente), quando il metodo viene chiamato con un parametro del token di protezione appropriato. Per ulteriori informazioni sul gestore dei token di protezione personalizzati, vedere Procedura: creare credenziali client e del servizio personalizzate.

  3. Aggiungere logica personalizzata al metodo, per consentire la restituzione del provider di token di protezione personalizzati in base al parametro SecurityTokenRequirement. Nell'esempio seguente viene restituito il provider di token di protezione personalizzati, se i requisiti dei token vengono soddisfatti. I requisiti includono un token di protezione X.509 e la direzione dei messaggi (è necessario che il token venga utilizzato per l'output dei messaggi). Per tutti gli altri casi, il codice chiama la classe di base per mantenere il comportamento fornito dal sistema per gli altri requisiti dei token di protezione.

Esempio

Nell'esempio seguente viene illustrata un'implementazione completa di SecurityTokenProvider, insieme a un'implementazione di SecurityTokenManager corrispondente.

Vedere anche

Riferimenti

SecurityTokenProvider
SecurityTokenRequirement
SecurityTokenManager
X509SecurityToken

Concetti

Procedura: creare credenziali client e del servizio personalizzate
Procedura: creare un autenticatore del token di protezione personalizzato
Architettura della protezione