English 中文(简体)
How to call WCF Http Service behind SiteMinder
原标题:

I am trying to call WCF 4 Http Web Services which are hosted within an ASP.NET application. The Service is protected behind SiteMinder.

I was wondering how I could programmatically call the web service, and more specifically what information will I need to pass to be authorized within SiteMinder to access my resources.

I am making the request from the ASP.NET application running on the same server, so I have access to the authentication cookie.

最佳回答

First obtain the SiteMinder authentication token like so:

    private string ObtainSiteMinderSession()
    {
        var cookie = Request.Cookies["SMSESSION"];
        return cookie != null ? cookie.Value : string.Empty;
    }

Then pass this token as with your web service calls like so (using Microsoft.Http.dll):

using Microsoft.Http;
using Microsoft.Http.Headers;

...

var Client = new HttpClient(baseUri);

// Add SMSESSION
var smCookie = new Cookie();
smCookie.Add("SMSESSION", ObtainSiteMinderSession());
Client.DefaultHeaders.Cookie.Add(smCookie);

using (var httpRequest = new HttpRequestMessage(Verbs.GET, "/LoadData/"))
{ ... }
问题回答

暂无回答




相关问题
Anyone feel like passing it forward?

I m the only developer in my company, and am getting along well as an autodidact, but I know I m missing out on the education one gets from working with and having code reviewed by more senior devs. ...

How to Add script codes before the </body> tag ASP.NET

Heres the problem, In Masterpage, the google analytics code were pasted before the end of body tag. In ASPX page, I need to generate a script (google addItem tracker) using codebehind ClientScript ...

Transaction handling with TransactionScope

I am implementing Transaction using TransactionScope with the help this MSDN article http://msdn.microsoft.com/en-us/library/system.transactions.transactionscope.aspx I just want to confirm that is ...

System.Web.Mvc.Controller Initialize

i have the following base controller... public class BaseController : Controller { protected override void Initialize(System.Web.Routing.RequestContext requestContext) { if (...

Microsoft.Contracts namespace

For what it is necessary Microsoft.Contracts namespace in asp.net? I mean, in what cases I could write using Microsoft.Contracts;?

Separator line in ASP.NET

I d like to add a simple separator line in an aspx web form. Does anyone know how? It sounds easy enough, but still I can t manage to find how to do it.. 10x!

热门标签