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