Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- public virtual void OnAuthorization(AuthorizationContext filterContext)
- {
- if (filterContext == null)
- {
- throw new ArgumentNullException("filterContext");
- }
- string auth = filterContext.HttpContext.Request.Headers["authorization"];
- if (!String.IsNullOrEmpty(auth))
- {
- byte[] encodedDataAsBytes = Convert.FromBase64String(auth.Replace("Basic ", ""));
- string val = Encoding.ASCII.GetString(encodedDataAsBytes);
- string userpass = val;
- string user = userpass.Substring(0, userpass.IndexOf(':'));
- string pass = userpass.Substring(userpass.IndexOf(':') + 1);
- if (!System.Web.Security.Membership.Provider.ValidateUser(user, pass))
- {
- filterContext.Result = new HttpUnauthorizedResult();
- }
- }
- else
- {
- if (AuthorizeCore(filterContext.HttpContext))
- {
- HttpCachePolicyBase cachePolicy = filterContext.HttpContext.Response.Cache;
- cachePolicy.SetProxyMaxAge(new TimeSpan(0));
- cachePolicy.AddValidationCallback(CacheValidateHandler, null /* data */);
- }
- else
- {
- // auth failed, redirect to login page
- filterContext.Result = new HttpUnauthorizedResult();
- }
- }
- }
Add Comment
Please, Sign In to add comment