ldj/WcfAuthentication/AuthenticationInspector.cs

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;
}
}
}