示例#1
0
        public override void OnAuthorization(HttpActionContext actionContext)
        {
            if (actionContext.Request.Headers.Authorization == null)
            {
                actionContext.Response = actionContext.Request.CreateResponse(HttpStatusCode.Forbidden, "You must login with user name and password!");
                return;
            }
            string authenticationToken        = actionContext.Request.Headers.Authorization.Parameter;
            string decodedAuthenticationToken = Encoding.UTF8.GetString(Convert.FromBase64String(authenticationToken));

            string[] userNameAndPasswordArray = decodedAuthenticationToken.Split(':');
            string   userName = userNameAndPasswordArray[0];
            string   password = userNameAndPasswordArray[1];

            ILoginTokenBase loginToken = FlyingCenterSystem.GetInstance().Login("admin", "9999");

            adminFacade = new LoggedInAdministratorFacade();
            List <AirlineCompany> airlines = adminFacade.GetAllAirlineCompanies();

            foreach (AirlineCompany airline in airlines)
            {
                if (userName == airline.USER_NAME && password == airline.PASSWORD)
                {
                    ILoginTokenBase AirlineUserLoginToken = FlyingCenterSystem.GetInstance().Login(userName, password);
                    actionContext.Request.Properties["login-airlineCompany"]       = airline;
                    actionContext.Request.Properties["airlineCompany-login-token"] = AirlineUserLoginToken;
                }
                if (userName == airline.USER_NAME && password != airline.PASSWORD)
                {
                    actionContext.Request.CreateResponse(HttpStatusCode.Forbidden, "Wrong password");
                    return;
                }
            }
            actionContext.Request.CreateResponse(HttpStatusCode.Unauthorized, "You are not allowed!");
        }
        public override void OnAuthorization(HttpActionContext actionContext)
        {
            if (actionContext.Request.Headers.Authorization == null)
            {
                actionContext.Request.CreateResponse(HttpStatusCode.Forbidden, "You must login with user name and password!");
                return;
            }
            string authenticationToken        = actionContext.Request.Headers.Authorization.Parameter;
            string decodedAuthenticationToken = Encoding.UTF8.GetString(Convert.FromBase64String(authenticationToken));

            string[] userNameAndPasswordArray = decodedAuthenticationToken.Split(':');
            string   userName = userNameAndPasswordArray[0];
            string   password = userNameAndPasswordArray[1];

            ILoginTokenBase loginToken = FlyingCenterSystem.GetInstance().Login("admin", "9999");

            adminFacade = new LoggedInAdministratorFacade();
            Customer customer = adminFacade.GetCustomerByUserName(userName);

            if (customer == null)
            {
                actionContext.Request.CreateResponse(HttpStatusCode.Forbidden, "This user name is not exist!");
                return;
            }
            if (customer.PASSWORD == password)
            {
                ILoginTokenBase customerLoginToken = FlyingCenterSystem.GetInstance().Login(userName, password);
                actionContext.Request.Properties["login-customer"] = customerLoginToken;
            }
            actionContext.Request.CreateResponse(HttpStatusCode.Unauthorized, "You are not allowed!");
        }
示例#3
0
 public FacadeBase GetFacade(ILoginTokenBase token)
 {
     if (token is LoginToken <Administrator> )
     {
         return(new LoggedInAdministratorFacade());
     }
     if (token is LoginToken <AirlineCompany> )
     {
         return(new LoggedInAirlineFacade());
     }
     if (token is LoginToken <Customer> )
     {
         return(new LoggedInCustomerFacade());
     }
     else
     {
         return(new AnonymousUserFacade());
     }
 }
示例#4
0
        public override void OnAuthorization(HttpActionContext actionContext)
        {
            if (actionContext.Request.Headers.Authorization == null)
            {
                actionContext.Response = actionContext.Request.CreateResponse(HttpStatusCode.Forbidden, "You must login with user name and password!");
                return;
            }
            string authenticationToken        = actionContext.Request.Headers.Authorization.Parameter;
            string decodedAuthenticationToken = Encoding.UTF8.GetString(Convert.FromBase64String(authenticationToken));

            string[] userNameAndPasswordArray = decodedAuthenticationToken.Split(':');
            string   userName = userNameAndPasswordArray[0];
            string   password = userNameAndPasswordArray[1];

            if (userName == "admin" && password == "9999")
            {
                ILoginTokenBase login = FlyingCenterSystem.GetInstance().Login(userName, password);
                actionContext.Request.Properties["login-token"] = login;
            }

            actionContext.Request.CreateResponse(HttpStatusCode.Unauthorized, "You are not allowed!");
        }