asp.net授权传递给wcf

时间:2014-08-07 19:06:43

标签: jquery asp.net wcf forms-authentication

我有表单授权的asp.net Web表单应用程序。 WCF服务应用程序位于ASP.NET应用程序的子目录中。用户通过表单授权登录并使用向WCF服务发送$ .Ajax()(JQuery)请求的网页。在WCF方面,用户是未经授权的,因此我无法控制用户的操作。如何通过WCF服务使用ASP.NET成员资格提供程序? 我也使用webHttpBinding,打开了aspNetCompatibilityEnabled。

我尝试使用HttpContext和OperationContext,但它们都很清楚(没有关于自动化用户的信息)。

主要目标是确定用户ID。

我试过的一些方法:

        string[] roles = Roles.GetRolesForUser();

        IPrincipal princ = HttpContext.Current.User;

        string coll = WebOperationContext.Current.IncomingRequest.Headers[HttpRequestHeader.Cookie];

        bool tr = HttpContext.Current.User.Identity.IsAuthenticated;

        RequestContext context = OperationContext.Current.RequestContext;

        var message = context.RequestMessage;
        var request = (HttpRequestMessageProperty)message.Properties[HttpRequestMessageProperty.Name];

        string authorization = request.Headers[HttpRequestHeader.Authorization];

        OperationContext op = OperationContext.Current;
        ServiceSecurityContext ssc = op.ServiceSecurityContext;
        string name = ssc.PrimaryIdentity.Name;
        //IIdentity ident = ServiceSecurityContext.Current.PrimaryIdentity;



        Object obj = HttpContext.Current.Session["Result"];

0 个答案:

没有答案