WCF REST RequestInterceptor-Authentifizierung
Ich versuche, eine grundlegende Authentifizierung in einem WCF RequestInterceptor durchzuführen. Ich benutzeDieser Artike Als Start
Das Problem, auf das ich stoße, besteht in der Kommunikation zwischen dem Interceptor und dem Dienst. Nichts, was ich versucht habe, scheint zu funktionieren. Bisher habe ich versucht:
OperationContext.Current requestContext.RequestMessage.Properties [HttpRequestMessageProperty.Name] ["foo"] = value HttpContext.Current.RequestAber egal, was ich eingestellt habe, ich kann anscheinend nicht im Dienstverhalten selbst darauf zugreifen:
[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;
}
}
Meine Fragen sind:
Wie kann ich Daten zwischen dem Interceptor und dem Dienst übertragen?
Gibt es eine kanonische Möglichkeit, Authentifizierungsinformationen zwischen ihnen zu übertragen (beachten Sie, dass die Authentifizierungsinformationen eine UID in der Datenbank und keine Windows-Identität sind)?
Vielen Dan