创建自定义安全令牌提供程序
<|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)
最新文章
- 电动化与智能化驱动:2023全球汽车产业变革趋势
- 智能驾驶技术:传感器融合与车路协同的未来发展
- 毫米波雷达助力智能驾驶
- 电动化与智能化驱动:汽车产业三大技术变革趋势
- 流线型车身设计提升空气动力学性能
- 汽车发动机性能优化技术研究与应用
- 汽车保养指南:机油、刹车与电瓶的关键养护要点
- 激光雷达与车路协同:自动驾驶技术突破与未来五年趋势
- 车主必看:行驶里程记录方法与实用价值全解析
- 智能驾驶技术加速演进:激光雷达与V2X引领汽车产业变革
- 胎压监测:守护行车安全,降低油耗的关键
- 智能座舱与车路协同:未来出行的四大技术变革
- 新能源车主必看:充电桩安全使用与冬季保养全攻略
- 汽车防垢涂层技术提升驾驶安全
- 奔驰驾驭未来速度与激情
- 智能驾驶技术突破:从L3到L4的五年变革之路
- 车顶架承重标准与行车安全全解析
- 液冷技术革新汽车散热:效率提升40%,电池寿命延长30%
- 新能源汽车充电桩:技术突破与未来布局全景分析
- 3D点云技术重塑汽车数字建模新纪元
