5
我正在尝试在WCF RequestInterceptor中执行一些基本身份验证。我使用this article作为开始。WCF REST RequestInterceptor身份验证
我遇到的问题是拦截器和服务之间的通信。没有任何我已经尝试似乎工作。到目前为止,我曾尝试:
- OperationContext.Current
- requestContext.RequestMessage.Properties [HttpRequestMessageProperty.Name] [ “富”] =值
- HttpContext.Current.Request
但无论我设置了什么,我都无法在服务行为本身中访问它:
[AspNetCompatibilityRequirements(RequirementsMode = AspNetCompatibilityRequirementsMode.Allowed)]
[ServiceBehavior(InstanceContextMode = InstanceContextMode.Single)]
public class AdvertiserService : ApiServiceBase<AdvertiserDataAccessor>, IAdvertiserService
{
[WebGet(UriTemplate = "")]
public List<Advertiser> GetAdvertisers()
{
var request = HttpContext.Current.Request;
var headers = HttpContext.Current.Request.Headers;
var p = HttpContext.Current.Request.Headers["Principal"];
OperationContext ctx = OperationContext.Current;
}
}
我的曲线它们是:
如何在拦截器和服务之间传递数据?
它们之间是否存在传递身份验证信息的标准方式(请注意,身份验证信息是数据库中的UID,而不是Windows标识)?
感谢