创建自定义安全令牌提供程序
<|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)
最新文章
- 北汽新能源引领绿色出行
- 发动机轰鸣汽车飞驰在高速公路上
- 比亚迪新能源汽车引领未来
- 电动化浪潮下:电池技术突破与自动驾驶未来展望
- 高强度铝合金汽车轻量化车身材料
- 车况检测保障行车安全
- 紧急制动技巧:掌握ABS与AEB系统安全驾驶指南
- 车载传感器实时监测路况信息
- 汽车散热器冷却系统高效降温保障引擎性能
- 汽车PWM诊断技术:精准解码ECU故障与氧传感器信号
- 发动机性能提升汽车动力输出效率
- 行车安全驾驶技巧与注意事项
- 广汽传祺引领智能出行新时代
- 汽车耐久性测试确保长期使用可靠性
- 固态电池技术突破:电动汽车续航将达1000公里
- 《排气管与轮毂尺寸匹配指南:改装必知的黄金法则》
- 车速提升汽车性能驾驶体验更佳
- 三菱汽车技术创新与未来展望
- 高效节能汽车冷却系统优化设计
- 三角警示牌使用指南:安全驾驶必备知识与选购要点
