30 lines
		
	
	
		
			1.2 KiB
		
	
	
	
		
			C#
		
	
	
	
		
		
			
		
	
	
			30 lines
		
	
	
		
			1.2 KiB
		
	
	
	
		
			C#
		
	
	
	
|  | using System; | |||
|  | using System.Collections.Generic; | |||
|  | using System.Linq; | |||
|  | using System.Text; | |||
|  | using System.ServiceModel.Dispatcher; | |||
|  | using System.ServiceModel.Channels; | |||
|  | using DeiNiu.Utils; | |||
|  | 
 | |||
|  | namespace WcfClientAuthentication | |||
|  | { | |||
|  |     public class AuthenticationInspector : IClientMessageInspector | |||
|  |     { | |||
|  |         public void AfterReceiveReply(ref System.ServiceModel.Channels.Message reply, object correlationState) | |||
|  |         {  | |||
|  |         } | |||
|  | 
 | |||
|  |         public object BeforeSendRequest(ref System.ServiceModel.Channels.Message request, System.ServiceModel.IClientChannel channel) | |||
|  |         { | |||
|  |             MessageHeader hdUserId = MessageHeader.CreateHeader("UserId", "www.deinu.com", LoginInfo.UserId);  | |||
|  |             MessageHeader hdToken = MessageHeader.CreateHeader("Token", "www.deinu.com", LoginInfo.Token);  | |||
|  |           | |||
|  |             request.Headers.Add(hdUserId); | |||
|  |             //request.Headers.Add(hdPassword); //为了安全性可以不传密码 | |||
|  |             request.Headers.Add(hdToken); | |||
|  |            // LogHelper.debug(  "AuthenticationInspector",string.Format("request: {2},set UserId : {0},set token: {1}", LoginInfo.UserId,LoginInfo.Token,request.ToString())); | |||
|  |             return null; | |||
|  |         } | |||
|  |     } | |||
|  | } |