当前位置 : 首页 > 车辆数据

创建自定义安全令牌提供程序

<|begin▁of▁sentence|>--- title: "How to: Create a Custom Security Token Provider" ms.date: "03/30/2017" dev_langs: - "csharp" - "vb" helpviewer_keywords: - "security [WCF], providing credentials" ms.assetid: db8cb478-aa43-478b-bf97-c6489ad7c7fd --- # How to: Create a Custom Security Token Provider This topic describes how to create a new security token provider types and how to integrate the provider with a custom security token manager. > [!NOTE] > Create a custom token provider if the tokens provided by the system in the namespace do not meet your requirements. The security token provider creates a security token representation based on information in the client or service credentials. To use the custom security token provider in Windows Communication Foundation (WCF) security, you must create custom credentials and security token manager implementations. For more information about custom credentials and security token manager, see [Walkthrough: Creating Custom Client and Service Credentials](../../../../docs/framework/wcf/extending/walkthrough-creating-custom-client-and-service-credentials.md). For more information about credentials, security token manager, and provider and authenticator classes, see [Security Architecture](https://msdn.microsoft.com/library/16593476-d36a-408d-808c-ae6fd483e28f). ### To create a custom security token provider 1. Define a new class derived from the class. 2. Implement the method. The method is responsible for creating and returning an instance of the security token. The following example creates a class named `MySecurityTokenProvider`, and overrides the method to return an instance of the class. The class constructor requires an instance of the class. [!code-csharp[c_CustomTokenProvider#1](../../../../samples/snippets/csharp/VS_Snippets_CFX/c_customtokenprovider/cs/source.cs#1)] [!code-vb[c_CustomTokenProvider#1](../../../../samples/snippets/visualbasic/VS_Snippets_CFX/c_customtokenprovider/vb/source.vb#1)] ### To integrate a custom security token provider with a custom security token manager 1. Define a new class derived from the class. (The following example derives from the class, which derives from the class.) 2. Override the method if it is not already overridden. The method is responsible for returning an instance of the class appropriate for the parameter passed to the method by the WCF security framework. Modify the method to return the custom security token provider implementation (created in the previous procedure) when the method is called with an appropriate token parameter. For more information about the security token manager, see [Walkthrough: Creating Custom Client and Service Credentials](../../../../docs/framework/wcf/extending/walkthrough-creating-custom-client-and-service-credentials.md). 3. Add custom logic to the method to enable it to return the custom security token provider based on the parameter. The following example returns the custom security token provider if the token requirements are satisfied. The requirements include an X.509 security token and message direction (using the token for message output). In all other cases, the code calls the base class to maintain the system-provided behavior. [!code-csharp[c_CustomTokenProvider#2](../../../../samples/snippets/csharp/VS_Snippets_CFX/c_customtokenprovider/cs/source.cs#2)] [!code-vb[c_CustomTokenProvider#2](../../../../samples/snippets/visualbasic/VS_Snippets_CFX/c_customtokenprovider/vb/source.vb#2)] ## Example The following shows a complete implementation along with the corresponding implementation. [!code-csharp[c_CustomTokenProvider#0](../../../../samples/snippets/csharp/VS_Snippets_CFX/c_customtokenprovider/cs/source.cs#0)] [!code-vb[c_CustomTokenProvider#0](../../../../samples/snippets/visualbasic/VS_Snippets_CFX/c_customtokenprovider/vb/source.vb#0)] ## See Also [Walkthrough: Creating Custom Client and Service Credentials](../../../../docs/framework/wcf/extending/walkthrough-creating-custom-client-and-service-credentials.md) [How to: Create a Custom Security Token Authenticator](../../../../docs/framework/wcf/extending/how-to-create-a-custom-security-token-authenticator.md) [Security Architecture](https://msdn.microsoft.com/library/16593476-d36a-408d-808c-ae6fd483e28f)

栏目列表