コード例 #1
0
        public void AuthenticateRequest(Blog blog, HttpContextBase context)
        {
            string authHeader = context.Request.Headers["Authorization"];

            if (String.IsNullOrEmpty(authHeader))
            {
                return;
            }

            if (authHeader.StartsWith("Basic ", StringComparison.OrdinalIgnoreCase))
            {
                byte[] bytes = Convert.FromBase64String(authHeader.Remove(0, 6));

                string   authString       = Encoding.Default.GetString(bytes);
                string[] usernamepassword = authString.Split(':');

                if (context.Authenticate(blog, usernamepassword[0], usernamepassword[1], false))
                {
                    context.User = new GenericPrincipal(new GenericIdentity(usernamepassword[0]), null);
                }
                else
                {
                    SendAuthRequest(context);
                }
            }
        }