當前位置: 首頁>>代碼示例>>C#>>正文


C# HttpRequestMessage.GetMembershipService方法代碼示例

本文整理匯總了C#中System.Net.Http.HttpRequestMessage.GetMembershipService方法的典型用法代碼示例。如果您正苦於以下問題:C# HttpRequestMessage.GetMembershipService方法的具體用法?C# HttpRequestMessage.GetMembershipService怎麽用?C# HttpRequestMessage.GetMembershipService使用的例子?那麽, 這裏精選的方法代碼示例或許可以為您提供幫助。您也可以進一步了解該方法所在System.Net.Http.HttpRequestMessage的用法示例。


在下文中一共展示了HttpRequestMessage.GetMembershipService方法的3個代碼示例,這些例子默認根據受歡迎程度排序。您可以為喜歡或者感覺有用的代碼點讚,您的評價將有助於係統推薦出更棒的C#代碼示例。

示例1: AuthenticateUserAsync

 protected override Task<IPrincipal> AuthenticateUserAsync(HttpRequestMessage request,string username,string password,CancellationToken cancellationToken)
 {
     var membershipService = request.GetMembershipService();
     var validUserCtx = membershipService
     .ValidateUser(username, password);
     return Task.FromResult(validUserCtx.Principal);
 }
開發者ID:dotnext24,項目名稱:PingYourPackage,代碼行數:7,代碼來源:PingYourPackageAuthHandler.cs

示例2: GetMembershipContextAsync

 private static async Task<MembershipContext> GetMembershipContextAsync(HttpRequestMessage request, string tokens)
 {
     var data = Convert.FromBase64String(tokens);
     var decodedString = Encoding.UTF8.GetString(data);
     var tokensValues = decodedString.Split(':');
     var membershipService = request.GetMembershipService();
     var membershipCtx = await membershipService.ValidateUserAsync(tokensValues[0], tokensValues[1]);
     return membershipCtx;
 }
開發者ID:rceraline,項目名稱:HomeCinema,代碼行數:9,代碼來源:HomeCinemaAuthHandler.cs

示例3: SendAsync

        protected override Task<HttpResponseMessage> SendAsync(HttpRequestMessage request, CancellationToken cancellationToken)
        {
            try
            {
                request.Headers.TryGetValues("Authorization", out _authHeaderValues);
                if (_authHeaderValues == null)
                {
                    return base.SendAsync(request, cancellationToken);
                }

                var tokens = _authHeaderValues.FirstOrDefault();
                tokens = tokens?.Replace("Basic", "").Trim();

                if (!string.IsNullOrEmpty(tokens))
                {
                    byte[] data = Convert.FromBase64String(tokens);
                    string decodedString = Encoding.UTF8.GetString(data);
                    string[] tokensValues = decodedString.Split(':');
                    var membershipService = request.GetMembershipService();
                    var membershipCtx = membershipService.ValidateUser(tokensValues[0], tokensValues[2]);

                    if (membershipCtx.User != null)
                    {
                        var principal = membershipCtx.Principal;
                        Thread.CurrentPrincipal = principal;
                        HttpContext.Current.User = principal;
                    }
                    else
                    {
                        var response = new HttpResponseMessage(HttpStatusCode.Unauthorized);
                        var tsc = new TaskCompletionSource<HttpResponseMessage>();
                        tsc.SetResult(response);
                        return tsc.Task;
                    }
                }
                else
                {
                    var response = new HttpResponseMessage(HttpStatusCode.Forbidden);
                    var tsc = new TaskCompletionSource<HttpResponseMessage>();
                    tsc.SetResult(response);
                    return tsc.Task;
                }
                return base.SendAsync(request, cancellationToken);
            }
            catch (Exception)
            {
                var response = new HttpResponseMessage(HttpStatusCode.Forbidden);
                var tsc = new TaskCompletionSource<HttpResponseMessage>();
                tsc.SetResult(response);
                return tsc.Task;
            }
        }
開發者ID:CarlosSaraiva,項目名稱:HomeCinema,代碼行數:52,代碼來源:HomeCinemaAuthHandler.cs


注:本文中的System.Net.Http.HttpRequestMessage.GetMembershipService方法示例由純淨天空整理自Github/MSDocs等開源代碼及文檔管理平台,相關代碼片段篩選自各路編程大神貢獻的開源項目,源碼版權歸原作者所有,傳播和使用請參考對應項目的License;未經允許,請勿轉載。