Esempio n. 1
0
        public override void OnActionExecuting(System.Web.Http.Controllers.HttpActionContext actionContext)
        {
            if (actionContext.Request.Headers.Authorization == null)
            {
                actionContext.Response = new System.Net.Http.HttpResponseMessage(System.Net.HttpStatusCode.Unauthorized);
            }
            else
            {
                string authToken             = actionContext.Request.Headers.Authorization.Parameter;
                string decodedToken          = Encoding.UTF8.GetString(Convert.FromBase64String(authToken));
                string username              = decodedToken.Substring(0, decodedToken.IndexOf(":"));
                string password              = decodedToken.Substring(decodedToken.IndexOf(":") + 1);
                ClanBattlesEntities _context = new ClanBattlesEntities();
                Gamer gamer =
                    _context.Gamers.SingleOrDefault(x =>
                                                    x.username.Equals(username) && x.password.Equals(password));
                LanCenter lanCenter =
                    _context.LanCenters.SingleOrDefault(x =>
                                                        x.username.Equals(username) && x.password.Equals(password));

                if (gamer != null)
                {
                    User user = new User();
                    user.username            = gamer.username;
                    user.password            = gamer.password;
                    HttpContext.Current.User = new GenericPrincipal(new ApiIdentity(user), new string[] { });
                    base.OnActionExecuting(actionContext);
                }
                else if (lanCenter != null)
                {
                    User user = new User();
                    user.username            = lanCenter.username;
                    user.password            = lanCenter.password;
                    HttpContext.Current.User = new GenericPrincipal(new ApiIdentity(user), new string[] { });
                    base.OnActionExecuting(actionContext);
                }
                else
                {
                    actionContext.Response = new System.Net.Http.HttpResponseMessage(System.Net.HttpStatusCode.Unauthorized);
                }
            }
        }
Esempio n. 2
0
 public ClansController()
 {
     _context = new ClanBattlesEntities();
 }
 public LanCentersController()
 {
     _context = new ClanBattlesEntities();
 }
 GamerAccountsController()
 {
     _context = new ClanBattlesEntities();
 }