Esempio n. 1
0
        public async Task <LoginResponse> postRegister(string email, string username, string password)
        {
            var formContent = new FormUrlEncodedContent(new[]
            {
                new KeyValuePair <string, string>("email", email),
                new KeyValuePair <string, string>("username", username),
                new KeyValuePair <string, string>("password", password)
            });

            HttpResponseMessage result = await post("/user/register", formContent);

            string content = await result.Content.ReadAsStringAsync();

            if (result.IsSuccessStatusCode)
            {
                LoginReturn returnData = JsonConvert.DeserializeObject <LoginReturn>(content);

                Console.WriteLine(returnData.message + " " + returnData.data.authCode);
                Preferences.Set(SharedPreferences.AUTH_CODE, returnData.data.authCode);
                Preferences.Set(SharedPreferences.ADMIN_TYPE, returnData.data.authCode);
                return(returnData);
            }
            else
            {
                LoginErrorResponse returnData = JsonConvert.DeserializeObject <LoginErrorResponse>(content);

                Console.WriteLine(returnData.message + " " + returnData.statusCode);
                return(returnData);
            }
        }
Esempio n. 2
0
        public IHttpActionResult Authenticate(LoginRequest login)
        {
            var user = db.Users.FirstOrDefault(x => x.Name == login.Username && x.Password == login.Password);

            if (user == null)
            {
                return(Ok(new { message = "Usuario o contrasena incorrectos." }));
            }

            //TODO: Validate credentials Correctly, this code is only for demo !!

            if (user != null)
            {
                var token = TokenGenerator.GenerateTokenJwt(login.Username);

                LoginReturn loginReturn = new LoginReturn();
                loginReturn.IdUser = user.UserId;
                loginReturn.Token  = token;

                return(Ok(loginReturn));
            }
            else
            {
                return(Unauthorized());
            }
        }
        public IHttpActionResult Login(RestoAdminLoginModel LoginModel)
        {
            LoginReturn xReturn = new LoginReturn();

            if (LoginModel != null)
            {
                if (LoginModel.Username == "Admin" && LoginModel.Password == "Admin")
                {
                    xReturn.username    = LoginModel.Username;
                    xReturn.password    = LoginModel.Password;
                    xReturn.ipAddress   = LoginModel.IpAddress;
                    xReturn.returnValue = "Login Ok";
                }
                else
                {
                    xReturn.returnValue = "Login Fail";
                }
            }
            else
            {
                xReturn.returnValue = "Login Fail";
            }

            return(Ok(new { xReturn }));
        }
Esempio n. 4
0
        public string current(UserCredentials Credentials)
        {
            Database    db      = new Database();
            LoginReturn success = new LoginReturn();

            success = db.getHashedPassword(Credentials);


            //success = UsersDB.spGetHashedPassword(Credentials.Username);
            /* Extract the bytes */
            var test = success.Password;

            byte[] hashBytes = Convert.FromBase64String(success.Password);
            /* Get the salt */

            byte[] salt = new byte[16];
            Array.Copy(hashBytes, 0, salt, 0, 16);
            /* Compute the hash on the password the user entered */
            var pbkdf2 = new Rfc2898DeriveBytes(Credentials.Password, salt, 10000);

            byte[] hash = pbkdf2.GetBytes(20);
            /* Compare the results */
            for (int i = 0; i < 20; i++)
            {
                if (hashBytes[i + 16] != hash[i])
                {
                    throw new UnauthorizedAccessException();
                }
            }
            return("Password");
        }
Esempio n. 5
0
        public LoginReturn Login(string LoginName, string UserPwd, int DeviceType)
        {
            base.SetHeader();
            LoginReturn re = new LoginReturn();

            re.Result = true;
            try
            {
                string         errorMsg = "";
                COUserIdentity iden     = COOrgans.Instance().Login(LoginName, UserPwd, CPEnum.ConvertDeviceTypeEnum(DeviceType), ref errorMsg);
                if (string.IsNullOrEmpty(errorMsg) == false)
                {
                    re.Result   = false;
                    re.ErrorMsg = errorMsg;
                    return(re);
                }
                re.UserId  = iden.UserId;
                re.UserKey = iden.UserKey;
                return(re);
            }
            catch (Exception ex)
            {
                re.Result   = false;
                re.ErrorMsg = ex.Message.ToString();
                return(re);
            }
        }
Esempio n. 6
0
        public async Task <IActionResult> Login(LoginVM user)
        {
            if (ModelState.IsValid)
            {
                var userInfo = await _userManager.FindByNameAsync(user.UserName);

                var result = await _signInManager.CheckPasswordSignInAsync(userInfo, user.Password, false);

                //var result = await _signInManager.PasswordSignInAsync(user.UserName, user.Password, false, false);
                if (result.Succeeded)
                {
                    LoginReturn theReturn = new LoginReturn
                    {
                        tokenString = BuildToken(user),
                        user        = user.UserName
                    };
                    return(Ok(Newtonsoft.Json.JsonConvert.SerializeObject(theReturn)));
                }
                else
                {
                    ModelState.AddModelError(string.Empty, "Invalid login attempt.");
                }
            }
            return(BadRequest(ModelState));
        }
Esempio n. 7
0
        public async Task <IActionResult> Login(String ticket)
        {
            ViewData["username"] = null;
            HttpContext.Request.Cookies.TryGetValue("Login", out String loginUser);

            if (loginUser != null)
            {
                ViewData["username"] = loginUser;
                return(View());
            }
            else if (!String.IsNullOrEmpty(ticket))
            {
                HttpClient httpClient = new HttpClient();
                String     url        =
                    "http://localhost:5000/Api/LoginVerification?ticket=" + ticket + "&appkey=abcd";
                var response = httpClient.GetAsync(url).Result;
                var resStr   = await response.Content.ReadAsStringAsync();

                LoginReturn ret = JsonConvert.DeserializeObject <LoginReturn>(resStr);

                HttpContext.Response.Cookies.Append("Login", ret.Username, new CookieOptions
                {
                    Expires = DateTime.Now.AddMinutes(30)
                });

                ViewData["username"] = ret.Username;
            }
            else
            {
                return(Redirect("http://localhost:5000/Account?appkey=abcd"));
            }

            return(View());
        }
        public ContentResult getVoucher()
        {
            try
            {
                if (Request.Cookies["gm_userinfo"] != null)
                {
                    string Account = Request.Cookies["gm_userinfo"].Values["Account"].ToString();
                    string guid    = Request.Cookies["gm_userinfo"].Values["guid"].ToString();

                    VoucherModels pVoucherModels = new VoucherModels();
                    LoginReturn   pLoginReturn   = new LoginReturn();
                    if (pVoucherModels.Verification(Account, guid, out pLoginReturn))
                    {
                        //session 赋值
                        Session["id"]       = pLoginReturn.ID;
                        Session["name"]     = pLoginReturn.Name;
                        Session["rid"]      = pLoginReturn.Role_ID;
                        Session["Type"]     = pLoginReturn.Type;
                        Session["DataRole"] = pLoginReturn.DataRole;
                        Session["guid"]     = guid;
                        Session["Account"]  = Account;
                        string xinfo = pLoginReturn.Type == "1" ? " 老师" : (pLoginReturn.Type == "2" ? " 学生" : (pLoginReturn.Type == "3" ? " 企业" : ""));
                        return(Content("[{\"Login\":\"True\",\"Type\":\"" + pLoginReturn.Type + "\",\"STR\":\"" + Session["name"] + xinfo + "\"}]"));
                    }
                    return(Content("out"));
                }
                return(Content("no"));
            }
            catch (Exception ex)
            {
                ResSharingPlatform.Common.clsLog.ErrorLog("Voucher", "getVoucher", ex.Message);
                return(Content("err"));
            }
        }
Esempio n. 9
0
        /// <summary>
        /// 处理用户登录的一些列操作,登陆不成功返回null,成功则返回一个LoginReturn
        /// </summary>
        /// <param name="msg"></param>
        /// <returns></returns>
        private static LoginReturn UserLogin(LoginData msg, byte[] login_ip)
        {
            //业务逻辑:
            //第一步,检测是否满足登陆条件,如果已经上线呵呵NULL,满足则进入第二步,否则返回NULL
            //第二步,将自己加入在线列表,并将自己在线的消息通知给在线好友
            //第三步获取对登陆者来说要进行更新的好友列表并返回LoginReturn
            if (isdebug)
            {
                Console.WriteLine("{0}--{1}", msg.username, msg.password);
            }
            LoginReturn info_return = new LoginReturn();
            User        temp_user   = new User();
            int         login_id    = SqlManager.checkUser(msg.username, msg.password, ref temp_user);

            if (login_id != -1)//是否满足登陆条件
            {
                if (isOnline(login_id))
                {
                    if (isdebug)
                    {
                        Console.WriteLine("已登录{0}", login_id);
                    }
                    return(null);
                }
                if (isdebug)
                {
                    Console.WriteLine("登录验证成功,用户id是{0}", login_id);
                }
                try
                {
                    //登记在线
                    //Idonline_Dic.Add(login_id,init_Vitality);
                    OnlineUserManager.addOnlineUser(new OnlineUser(login_id, login_ip, temp_user.name, temp_user.nickname));
                    //记录ip
                    // Ip_Dic.Add(login_id,login_ip);
                    //获取在线好友列表(用于返回给该用户),通知在线好友该用户在线了
                    info_return.OnlineFriends = getOnlineFriends(login_id);

                    //获取该用户的消息,一个用户刚刚上线,应该从数据库获取才对

                    info_return.message          = OnlineUserManager.user_list[login_id].getUserMessageList();
                    info_return.FriendsTimeStamp = SqlManager.getFriendsTimestamp(login_id);
                    info_return.GroupTimeStamp   = SqlManager.getGroupTimeStamp(login_id);
                    info_return.myTimeStamp      = SqlManager.getUserTimestamp(login_id);
                }
                catch (Exception e)
                {
                    Console.WriteLine("构建返回值时出现问题,{0}", e.Message);
                }
            }
            else
            {
                if (isdebug)
                {
                    Console.WriteLine("if({0}<0) then 密码搞错了 else 已经登录过了", login_id);
                }
                info_return = null;
            }
            return(info_return);
        }
Esempio n. 10
0
        public void Login(Newtonsoft.Json.Linq.JObject requestValue, Newtonsoft.Json.Linq.JObject Data, MESStationReturn StationReturn)
        {
            string  EMP_NO  = Data["EMP_NO"].ToString();
            string  PWD     = Data["Password"].ToString();
            string  BU_NAME = Data["BU_NAME"].ToString();
            DataSet res     = new DataSet();

            Language = Data["Language"].ToString();
            MESReturnMessage.Language = Language;
            LoginReturn lr = new LoginReturn();

            MESDBHelper.OleExec SFCDB = _DBPools["SFCDB"].Borrow();

            MESDataObject.Module.T_c_user   GetLoginUser = new MESDataObject.Module.T_c_user(SFCDB, this.DBTYPE);
            MESDataObject.Module.Row_c_user rcu          = (Row_c_user)GetLoginUser.NewRow();
            rcu = GetLoginUser.getC_Userbyempno(EMP_NO, SFCDB, this.DBTYPE);
            if (rcu == null)
            {
                StationReturn.Status      = StationReturnStatusValue.Fail;
                StationReturn.MessageCode = "MES00000010";
                _DBPools["SFCDB"].Return(SFCDB);
                return;
            }
            c_user_info user_info = new c_user_info();

            user_info = GetLoginUser.GetLoginUser(EMP_NO, SFCDB);

            LogicObject.User lu = new LogicObject.User();
            if (PWD == rcu.EMP_PASSWORD)
            {
                lu.ID        = user_info.ID;
                lu.FACTORY   = user_info.FACTORY;
                lu.BU        = user_info.BU_NAME;
                lu.EMP_NO    = user_info.EMP_NO;
                lu.EMP_LEVEL = user_info.EMP_LEVEL;
                lu.DPT_NAME  = user_info.DPT_NAME;
                string token1     = DateTime.Now.ToString("yyyyMMddHHmmss");
                string token2     = rand.Next(100, 999).ToString();
                char[] TokenChars = (token1 + token2).ToArray();
                byte[] TokenBytes = Encoding.Default.GetBytes(TokenChars);
                string TokenBas64 = Convert.ToBase64String(TokenBytes);
                StationReturn.Status      = StationReturnStatusValue.Pass;
                StationReturn.MessageCode = "MES00000009";
                LoginUser = lu;
                //lr = new LoginReturn() { Token = TokenBas64, User_ID = user.EMP_NO};
                lr = new LoginReturn()
                {
                    Token = TokenBas64, User_ID = LoginUser.EMP_NO, UserInfo = user_info
                };
            }
            else
            {
                StationReturn.Status      = StationReturnStatusValue.Fail;
                StationReturn.MessageCode = "MES00000010";
            }
            StationReturn.Data = lr;
            _DBPools["SFCDB"].Return(SFCDB);
        }
Esempio n. 11
0
        public IEnumerable <UserBoughtProductsData> GetPaidShares(LoginReturn userInfo)
        {
            Database      db           = new Database();
            SqlConnection myConnection = new SqlConnection();

            myConnection = db.connect();

            IEnumerable <UserBoughtProductsData> PaidSharesList = myConnection.Query <UserBoughtProductsData>("spGetPaidShares", new { UserID = userInfo.UserID },
                                                                                                              commandType: CommandType.StoredProcedure);

            return(PaidSharesList);
        }
Esempio n. 12
0
 /// <summary>
 /// Parametered Constuctor
 /// </summary>
 /// <param name="success">Specifies whether the attempt successful was ok or not</param>
 /// <param name="extraMessage">Describes the the error message or additional info from the request response</param>
 /// <param name="returnCode">An enum for further descbing the _success </param>
 /// <param name="userToken">Token returned based on userId and authentication and security parameters</param>
 /// <param name="userFullName">Full name returned based on userId and authentication and security parameters</param>
 public AuthResult(bool success,
                   string extraMessage,
                   LoginReturn returnCode,
                   string userToken,
                   string userFullName)
 {
     _success      = success;
     _extraMessage = extraMessage;
     _returnCode   = returnCode;
     _userToken    = userToken;
     _userFullName = userFullName;
 }
Esempio n. 13
0
 /// <summary>
 /// Parametered Constuctor
 /// </summary>
 /// <param name="success">Specifies whether the attempt successful was ok or not</param>
 /// <param name="extraMessage">Describes the the error message or additional info from the request response</param>
 /// <param name="returnCode">An enum for further descbing the _success </param>
 /// <param name="userToken">Token returned based on userId and authentication and security parameters</param>
 /// <param name="userFullName">Full name returned based on userId and authentication and security parameters</param>
 public AuthResult(bool success,
                   string extraMessage,
                   LoginReturn returnCode,
                   string userToken,
                   string userFullName)
 {
     _success = success;
     _extraMessage = extraMessage;
     _returnCode = returnCode;
     _userToken = userToken;
     _userFullName = userFullName;
 }
        public LoginReturn ValidateLogin(int id, LoginContract loginContract)
        {
            var emp = context.Employee.Include(e => e.Designation).FirstOrDefault(e => e.Username == loginContract.Username && e.Password == loginContract.Password && e.MerchantId == id);

            LoginReturn loginReturn = new LoginReturn();

            if (emp != null)
            {
                loginReturn.designation = emp.Designation.Name;
            }
            return(loginReturn);
        }
Esempio n. 15
0
        public void ShouldGetUserByName()
        {
            var    username = "******";
            MpUser mpUser   = new MpUser()
            {
                CanImpersonate = true,
                DisplayName    = "Testy McTestface",
                Guid           = "123123123123123",
                UserEmail      = "*****@*****.**",
                UserId         = "test",
                UserRecordId   = 1
            };
            MpMyContact mpMyContact = new MpMyContact()
            {
                Contact_ID    = 2,
                First_Name    = "Testy",
                Email_Address = mpUser.UserEmail,
                Age           = 30,
                Mobile_Phone  = "1234567890"
            };
            List <MpRoleDto> roles = new List <MpRoleDto>();
            LoginReturn      dto   = new LoginReturn()
            {
                userToken      = _authType + " " + _authToken,
                userTokenExp   = "",
                refreshToken   = "",
                userId         = mpMyContact.Contact_ID,
                username       = mpMyContact.First_Name,
                userEmail      = mpMyContact.Email_Address,
                roles          = roles,
                age            = mpMyContact.Age,
                userPhone      = mpMyContact.Mobile_Phone,
                canImpersonate = mpUser.CanImpersonate
            };


            _userRepository.Setup(mocked => mocked.GetUserIdByUsername(username)).Returns(mpUser.UserRecordId);
            _userRepository.Setup(mocked => mocked.GetUserByRecordId(mpUser.UserRecordId)).Returns(mpUser);
            _userRepository.Setup(mocked => mocked.GetUserRoles(mpUser.UserRecordId)).Returns(roles);
            _contactRepository.Setup(mocked => mocked.GetContactByUserRecordId(mpUser.UserRecordId)).Returns(mpMyContact);

            var response = _fixture.Get(username);

            _userRepository.VerifyAll();
            _contactRepository.VerifyAll();
            Assert.IsNotNull(response);
            Assert.IsInstanceOf <OkNegotiatedContentResult <LoginReturn> >(response);
            var r = (OkNegotiatedContentResult <LoginReturn>)response;

            Assert.IsNotNull(r.Content);
            Assert.AreEqual(JsonConvert.SerializeObject(dto), JsonConvert.SerializeObject(r.Content));
        }
Esempio n. 16
0
        private void Analytics_Click(object sender, EventArgs e)
        {
            LoginReturn login         = CheckLoginInDnevnik();
            bool        closedSuccess = login.closedSuccess;
            string      keyAccess     = login.keyAccess;

            if (closedSuccess)
            {
                //Analytics analytics = new Analytics(new ApiDiary((keyAccess == "" ? Properties.Settings.Default.keyAccess : keyAccess)));

                //analytics.test(1556261691152418797);
            }
        }
Esempio n. 17
0
        public IEnumerable <Charge> GetCharges(LoginReturn userInfo)
        {
            Database      db           = new Database();
            SqlConnection myConnection = new SqlConnection();

            myConnection = db.connect();

            //Charge charges = new Charge();
            IEnumerable <Charge> charges = myConnection.Query <Charge>("spGetCharges", new { UserID = userInfo.UserID },
                                                                       commandType: CommandType.StoredProcedure);

            return(charges);
        }
Esempio n. 18
0
        public IEnumerable <UserBoughtProductsData> GetUserBoughtProducts(LoginReturn userInfo)
        {
            Database      db           = new Database();
            SqlConnection myConnection = new SqlConnection();

            myConnection = db.connect();

            UserBoughtProductsData UserBought = new UserBoughtProductsData();
            IEnumerable <UserBoughtProductsData> UserBoughtvar = myConnection.Query <UserBoughtProductsData>("spGetUserBoughtProducts", new { UserID = userInfo.UserID },
                                                                                                             commandType: CommandType.StoredProcedure);

            return(UserBoughtvar);
        }
Esempio n. 19
0
        public object UpdatePersonalDetails(JsonMember.UserDetails obj)
        {
            LoginReturn Lobj = new LoginReturn();

            try
            {
                Sqldbmanager.Open();
                Sqldbmanager.CreateParameters(5);
                Sqldbmanager.AddParameters(0, "@UserId", obj.UserId);
                Sqldbmanager.AddParameters(1, "@FirstName", obj.FirstName.Trim());
                Sqldbmanager.AddParameters(2, "@LastName", obj.LastName.Trim());
                Sqldbmanager.AddParameters(3, "@EmailId", obj.EmailId.Trim());
                Sqldbmanager.AddParameters(4, "@ProfilePicPath", obj.ProfilePicPath);
                DS   = Sqldbmanager.ExecuteDataSet(CommandType.StoredProcedure, "USP_UpdateuserProfile");
                Lobj = new LoginReturn()
                {
                    flag           = DS.Tables[0].Rows[0]["flag"].ToString(),
                    Message        = DS.Tables[0].Rows[0]["Message"].ToString(),
                    EmailId        = DS.Tables[0].Rows[0]["EmailId"].ToString(),
                    MobileNo       = DS.Tables[0].Rows[0]["MobileNo"].ToString(),
                    Name           = DS.Tables[0].Rows[0]["Name"].ToString(),
                    UserName       = DS.Tables[0].Rows[0]["UserName"].ToString(),
                    UserId         = DS.Tables[0].Rows[0]["UserId"].ToString(),
                    FirstName      = DS.Tables[0].Rows[0]["FirstName"].ToString(),
                    LastName       = DS.Tables[0].Rows[0]["LastName"].ToString(),
                    ProfilePicPath = DS.Tables[0].Rows[0]["ProfilePicPath"].ToString()
                };
            }
            catch (Exception Ex)
            {
                DS   = LogError("Update Personal Detail", Ex.Message.ToString(), "SP Name: USP_UpdateuserProfile");
                Lobj = new LoginReturn()
                {
                    flag           = "false",
                    Message        = DS.Tables[0].Rows[0]["Meaasge"].ToString(),
                    EmailId        = "",
                    MobileNo       = "",
                    Name           = "",
                    UserId         = "",
                    FirstName      = "",
                    LastName       = "",
                    ProfilePicPath = "",
                };
            }
            finally
            {
                Sqldbmanager.Close();
            }

            return(Lobj);
        }
Esempio n. 20
0
        public LoginReturn getHashedPassword(UserCredentials Credentials)
        {
            Database      db           = new Database();
            SqlConnection myConnection = new SqlConnection();

            myConnection = db.connect();

            LoginReturn success = new LoginReturn();


            success = myConnection.Query <LoginReturn>("spGetHashedPassword", new { Email = Credentials.Username },
                                                       commandType: CommandType.StoredProcedure).SingleOrDefault();
            return(success);
        }
Esempio n. 21
0
        private async void Login(object sender, EventArgs e)
        {
            if (string.IsNullOrEmpty(Username.Text) || string.IsNullOrEmpty(Password.Text))
            {
                await UserDialogs.Instance.AlertAsync("Please fill out all fields");
            }
            else
            {
                if (CrossConnectivity.Current.IsConnected)
                {
                    try
                    {
                        this.InputTransparent = true;
                        UserDialogs.Instance.ShowLoading("Logging In", MaskType.None);
                        var model = new LoginModel {
                            Username = Username.Text, Password = Password.Text
                        };
                        var      loginService = new Authenticate();
                        Response response     = await loginService.Login(model);

                        if (!response.IsSuccessStatusCode)
                        {
                            this.InputTransparent = false;
                            await UserDialogs.Instance.AlertAsync("Incorrect username or password");

                            UserDialogs.Instance.HideLoading();
                        }
                        else
                        {
                            this.InputTransparent = false;
                            LoginReturn ret = JsonConvert.DeserializeObject <LoginReturn>(response.Content);
                            Application.Current.Properties["Id"] = ret.Id;
                            Application.Current.MainPage         = new NavigationPage(new HomePage());
                            UserDialogs.Instance.HideLoading();
                        }
                    }
                    catch (Exception ee)
                    {
                        this.InputTransparent = false;
                        UserDialogs.Instance.HideLoading();
                        await UserDialogs.Instance.AlertAsync("There was an error executing your request");
                    }
                }
                else
                {
                    UserDialogs.Instance.HideLoading();
                    await UserDialogs.Instance.AlertAsync("You are not connected to the internet");
                }
            }
        }
Esempio n. 22
0
        /// <summary>
        /// 登录
        /// 发送格式:UserMessage(2, LoginData(username, password))
        /// 接收格式:LoginReturn,要求LoginReturn各成员变量不为null
        /// </summary>
        /// <param name="username"></param>
        /// <param name="password"></param>
        /// <returns></returns>
        public static LoginReturn Login(string username, string password)
        {
            LoginData ld = new LoginData(username, password);

            lock (_l)
            {
                if (client.Connect())
                {
                    LoginReturn result = client.Sending(new UserMessage(2, ld)) as LoginReturn;
                    client.Close();
                    return(result);
                }
            }
            return(null);
        }
Esempio n. 23
0
        public LoginReturn login(UserContext context, LoginInfo info)
        {
            LoginReturn user = new LoginReturn();

            foreach (Usuario u in context.Get())
            {
                if (u.Contrasena == info.contrasena && u.NombreUsuario == info.nombreU)
                {
                    user.id    = u.Id;
                    user.tipoU = u.TipoU;
                    break;
                }
            }
            return(user);
        }
Esempio n. 24
0
        public async Task <LoginResponse> getLoginWithAuth(string authCode)
        {
            HttpResponseMessage result = await get("/user/loginWithAuth", new Dictionary <string, string> {
                { "authCode", authCode }
            });

            if (result.IsSuccessStatusCode)
            {
                string content = await result.Content.ReadAsStringAsync();

                LoginReturn returnData = JsonConvert.DeserializeObject <LoginReturn>(content);

                Console.WriteLine(returnData.message + " " + returnData.data.adminType);
                Preferences.Set(SharedPreferences.ADMIN_TYPE, returnData.data.adminType);
                return(returnData);
            }
            return(null);
        }
Esempio n. 25
0
        public async Task <ActionResult <LoginReturn> > PostLogin(UserQuery uq)
        {
            var reqData = await _context.Users
                          .Where(s => s.UserName == uq.uname)
                          .FirstOrDefaultAsync();

            var rd = new LoginReturn();

            if (reqData == null)
            {
                rd.password = "";
            }
            else
            {
                rd.password = reqData.Password;
                rd.id       = reqData.UserId;
            }
            return(rd);
        }
Esempio n. 26
0
        /// <summary>
        /// 查詢權限對應的ID
        /// </summary>
        public void SelectPrivilegeID(Newtonsoft.Json.Linq.JObject requestValue, Newtonsoft.Json.Linq.JObject Data, MESStationReturn StationReturn)
        {
            LoginReturn lr = new LoginReturn();

            MESDBHelper.OleExec SFCDB = _DBPools["SFCDB"].Borrow();

            MESDataObject.Module.T_C_PRIVILEGE   RolerPrivilege    = new MESDataObject.Module.T_C_PRIVILEGE(SFCDB, DB_TYPE_ENUM.Oracle);
            MESDataObject.Module.Row_C_PRIVILEGE RolerPrivilegeRow = (MESDataObject.Module.Row_C_PRIVILEGE)RolerPrivilege.NewRow();

            DataTable TablePrivilege = new DataTable();

            TablePrivilege = RolerPrivilege.SelectPrivilegeID(SFCDB, DB_TYPE_ENUM.Oracle);

            List <Privilegesid> Privilegesid = new List <Privilegesid>();

            if (TablePrivilege.Rows.Count > 0)
            {
                foreach (DataRow item in TablePrivilege.Rows)
                {
                    List <string> menu = new List <string>();

                    Privilegesid.Add(new Privilegesid
                    {
                        PRIVILEGE_ID   = item["PRIVILEGE_ID"].ToString(),
                        PRIVILEGE_NAME = item["PRIVILEGE_NAME"].ToString(),
                        PRIVILEGE_DESC = item["PRIVILEGE_DESC"].ToString()
                    });
                }
            }
            else
            {
                Privilegesid.Add(null);
            }

            StationReturn.Status  = StationReturnStatusValue.Pass;
            StationReturn.Message = "獲取權限目錄OK";
            StationReturn.Data    = Privilegesid;

            this.DBPools["SFCDB"].Return(SFCDB);
        }
Esempio n. 27
0
        public async Task <IActionResult> Login()
        {
            // Create session
            SessionData session = new SessionData
            {
                uid     = Convert.ToInt32(User.FindFirst("uid").Value),
                created = DateTime.UtcNow.ToString(),
                expires = DateTime.UtcNow.AddMinutes(20)
            };

            await dbContext.Sessions.AddAsync(session);

            await dbContext.SaveChangesAsync();

            // Create token
            Claim[] claims = new[]
            {
                new Claim("sid", session.sid.ToString()),
                new Claim("created", session.created)
            };

            SymmetricSecurityKey key         = new SymmetricSecurityKey(Encoding.UTF8.GetBytes("secretsecretsupersecret"));
            SigningCredentials   credentials = new SigningCredentials(key, SecurityAlgorithms.HmacSha256);

            JwtSecurityToken token = new JwtSecurityToken(
                issuer: "http://localhost:50576/",
                audience: "http://localhost:50576/",
                claims: claims,
                expires: session.expires,
                signingCredentials: credentials
                );

            LoginReturn ret = new LoginReturn
            {
                session_token = new JwtSecurityTokenHandler().WriteToken(token)
            };

            return(Ok(ret));
        }
        public async Task <IActionResult> GetToken(LoginModel model)
        {
            if (!ModelState.IsValid)
            {
                return(Unauthorized());
            }

            ApplicationUser user = await Authenticate(model);

            if (user == null)
            {
                return(Unauthorized());
            }

            IList <string> role = await userManager.GetRolesAsync(user);

            var symmetricSecurityKey = new SymmetricSecurityKey(Encoding.UTF8.GetBytes(secretKey));

            var signInCredentials = new SigningCredentials(symmetricSecurityKey, SecurityAlgorithms.HmacSha256Signature);

            var token = new JwtSecurityToken(
                issuer: "workly.api",
                audience: "allRoles",
                expires: DateTime.Now.AddDays(1),
                signingCredentials: signInCredentials
                );
            //new JwtSecurityTokenHandler().WriteToken(token);

            LoginReturn loginReturn = new LoginReturn
            {
                Token = new JwtSecurityTokenHandler().WriteToken(token).ToString(),
                Role  = role.FirstOrDefault()
            };

            return(Ok(loginReturn));
        }
Esempio n. 29
0
    //-------------------------------------------------------------//
    // Convert from XML methods
    //-------------------------------------------------------------//
    public LoginReturn convertRecvToInfo(byte[] data, LoginReturn readInfo)
    {
        //decode binary data into readable string and passinto a string reader needed for XML Deserialzing
        string result = System.Text.Encoding.UTF8.GetString(data);
        StringReader stringReader = new StringReader(result);

        //create xml reader
        //XmlReaderSettings settings = new XmlReaderSettings();
        //Currently settings unsued, was needed before, leaving for refferrence (stringReader, settings)
        XmlReader xmlReader = XmlReader.Create(stringReader);

        //create xmlSerializer linked to type of class Info and deserialze string
        XmlSerializer xmlSerializer = new XmlSerializer(typeof(LoginReturn));
        readInfo = (LoginReturn)xmlSerializer.Deserialize(xmlReader);

        print (readInfo);
        print (readInfo.loggedIn);

        return readInfo;
    }
Esempio n. 30
0
    //-------------------------------------------------------------//
    // Read Message Methods
    //-------------------------------------------------------------//
    public void readSocket()
    {
        if (!socketReady && dataStream.DataAvailable)
            return;

        // read in message type and size of message
        int bytesNeeded = 4;
        byte[] messageType = new byte[bytesNeeded];
        byte[] lengthBuffer = new byte[bytesNeeded];

        messageType  = reader.ReadBytes(bytesNeeded);
        lengthBuffer = reader.ReadBytes(bytesNeeded);

        //convert bytes to littleEndian if needed
        if(BitConverter.IsLittleEndian) {

            Array.Reverse(messageType);
            Array.Reverse(lengthBuffer);
        }

        // convert bytes to int
        int type = BitConverter.ToInt32(messageType, 0);

        if(type == 1){

            LoginReturn readInfo = new LoginReturn();

            //should only be false if stream was closed before finished reading as bytereader is blocking
            if(lengthBuffer.Length == bytesNeeded) {

                int dataSize = BitConverter.ToInt32(lengthBuffer, 0);
                print(dataSize);

                byte[] data = new byte[dataSize];
                bytesNeeded = dataSize;
                data = reader.ReadBytes(dataSize);

                //convert data into usable class
                if(data.Length == bytesNeeded) {
                    readInfo = this.convertRecvToInfo(data, readInfo);
                }
            }

            if (readInfo.loggedIn == true) {
                Debug.Log("login success");
                this.displayText("Logged in!", true);

                maxTextTimer = 1f;
                closeToMenu = true;
            }
            else if (readInfo.loggedIn == false) {

                this.displayText("Unable to log in\nEmail or Password incorrect.", false);
                Debug.Log("unable to log in");
            }

            this.attemptRead = false;
        }
        else if(type == 2){
            //Sign up successful

            LoginReturn readInfo = new LoginReturn();

            //should only be false if stream was closed before finished reading as bytereader is blocking
            if(lengthBuffer.Length == bytesNeeded) {

                int dataSize = BitConverter.ToInt32(lengthBuffer, 0);
                print(dataSize);

                byte[] data = new byte[dataSize];
                bytesNeeded = dataSize;
                data = reader.ReadBytes(dataSize);

                //convert data into usable class
                if(data.Length == bytesNeeded) {
                    readInfo = this.convertRecvToInfo(data, readInfo);
                }
            }

            if (readInfo.loggedIn) {
                Debug.Log("sign up success");

                this.SwitchSignUp(false);
                this.displayText("Sign up successful.\n Logging in", false);
                this.sendLogin(1);
            }
            else if(!readInfo.loggedIn) {
                Debug.Log("unable to sign up");

                this.displayText("Unable to sign up\nEmail already exists", false);
                this.attemptRead = false;
            }
        }

        return;
    }
Esempio n. 31
0
        protected override void OnMessage(MessageEventArgs e)
        {
            MESStationReturn StationReturn = null; // new MESStationReturn();

            string[] Para = null;                  //add by LLF 2017-1-4
            try
            {
                //處理JSON
                //Newtonsoft.Json.Linq.JObject Request = (Newtonsoft.Json.Linq.JObject) Newtonsoft.Json.JsonConvert.DeserializeObject(
                //"{ TOKEN:null, CLASS: \"MESStation.ApiHelper\", FUNCTION:\"GetApiClassList\", DATA:{ } }");

                //Request = (Newtonsoft.Json.Linq.JObject)Newtonsoft.Json.JsonConvert.DeserializeObject("{ TOKEN:null, CLASS: \"MESStation.ApiHelper\", FUNCTION:\"GetApiFunctionsList\", DATA:{ CLASSNAME:\"MESStation.ApiHelper\" } }");
                //Request = (Newtonsoft.Json.Linq.JObject)Newtonsoft.Json.JsonConvert.DeserializeObject(
                //    "{ TOKEN:null, CLASS: \"MESStation.ApiHelper\", FUNCTION:\"GetApiFunctionsList\", DATA:{ CLASSNAME:\"MESStation.UserManager\" } }");

                Newtonsoft.Json.Linq.JObject Request = (Newtonsoft.Json.Linq.JObject)Newtonsoft.Json.JsonConvert.DeserializeObject(e.Data);
                string CLASS    = Request["Class"].ToString();
                string FUNCTION = Request["Function"].ToString();
                string TOKEN    = Request["Token"].ToString();
                string MsgID    = Request["MessageID"]?.ToString();
                string ClientID = Request["ClientID"]?.ToString();
                Request.Add("IP", Newtonsoft.Json.Linq.JToken.Parse("{Value:\"" + this.ClientIP + "\"}"));


                StationReturn = new MESStationReturn(MsgID, ClientID);
                //反射加載

                //ApiHelper api = new ApiHelper();
                Type APIType;
                //加載類庫
                Assembly assembly = Assembly.Load("MESStation");

                APIType = assembly.GetType(CLASS);
                object     API_CLASS = assembly.CreateInstance(CLASS);
                MesAPIBase API       = (MesAPIBase)API_CLASS;
                if (!API.DBPools.ContainsKey("SFCDB"))
                {
                    API.DBPools.Add("SFCDB", SFCDBPool);
                }
                if (!API.DBPools.ContainsKey("APDB"))
                {
                    API.DBPools.Add("APDB", APDBPool);
                }
                //API.BU = "HWD";
                //API.BU = "VERTIV";
                ((MesAPIBase)API_CLASS).IP = this.ClientIP;

                API.Language = "CHINESE";  //CHINESE,CHINESE_TW,ENGLISH;

                //初始化異常類型的數據庫連接池
                MESReturnMessage.SetSFCDBPool(SFCDBPool);
                //獲取調用函數
                MethodInfo Function = APIType.GetMethod(FUNCTION);
                //
                bool CheckLogin = false;
                if (LoginUsers.ContainsKey(TOKEN))
                {
                    User lu = LoginUsers[TOKEN];
                    ((MesAPIBase)API_CLASS).LoginUser = lu;
                    CheckLogin = true;
                    API.BU     = lu.BU;
                }
                else
                {
                    if (FUNCTION != "Login" && ((MesAPIBase)API_CLASS).MastLogin)
                    {
                        StationReturn.Status  = StationReturnStatusValue.Fail;
                        StationReturn.Message = "No Login !";
                    }
                    else
                    {
                        if (FUNCTION == "Login")
                        {
                            CheckLogin = true;
                        }
                    }
                }
                if (CheckLogin)
                {
                    Function.Invoke(API_CLASS, new object[] { Request, Request["Data"], StationReturn });
                    if (FUNCTION == "Login")
                    {
                        if (StationReturn.Status == "Pass")
                        {
                            LoginReturn r  = (LoginReturn)StationReturn.Data;
                            User        lu = ((MesAPIBase)API_CLASS).LoginUser;
                            if (this.Token != null)
                            {
                                Report.LoginUsers.Remove(Token);
                                MESStation.Stations.CallStation.logout(Token);
                            }
                            string NewToken = r.Token;
                            Token = r.Token;
                            if (LoginUsers.ContainsKey(NewToken))
                            {
                                LoginUsers[NewToken] = lu;
                            }
                            else
                            {
                                LoginUsers.Add(NewToken, lu);
                            }
                        }
                    }
                }//函數不要求登錄
                else if (!((MesAPIBase)API_CLASS).MastLogin)
                {
                    Function.Invoke(API_CLASS, new object[] { Request, Request["Data"], StationReturn });
                    if (FUNCTION == "Login")
                    {
                        if (StationReturn.Status == "Pass")
                        {
                            LoginReturn r        = (LoginReturn)StationReturn.Data;
                            User        lu       = ((MesAPIBase)API_CLASS).LoginUser;
                            string      NewToken = r.Token;
                            if (LoginUsers.ContainsKey(NewToken))
                            {
                                LoginUsers[NewToken] = lu;
                            }
                            else
                            {
                                LoginUsers.Add(NewToken, lu);
                            }
                        }
                    }
                }

                //add by LLF 2017-12-27
                if (StationReturn.MessageCode != null)
                {
                    if (StationReturn.MessageCode.Length > 0)
                    {
                        if (StationReturn.MessagePara != null)
                        {
                            if (StationReturn.MessagePara.Count > 0)
                            {
                                Para = new string[StationReturn.MessagePara.Count];
                                for (int i = 0; i < StationReturn.MessagePara.Count; i++)
                                {
                                    Para[i] = StationReturn.MessagePara[i].ToString();
                                }
                            }
                        }
                        StationReturn.Message = MESReturnMessage.GetMESReturnMessage(StationReturn.MessageCode, Para);
                    }
                }
            }
            catch (MESReturnMessage ee)
            {
                StationReturn.Status  = StationReturnStatusValue.Fail;
                StationReturn.Message = ee.Message;
                if (ee.InnerException != null)
                {
                    StationReturn.Data = ee.InnerException.Message;
                }
            }
            catch (Exception ee)
            {
                StationReturn.Status  = StationReturnStatusValue.Fail;
                StationReturn.Message = ee.Message;
                if (ee.InnerException != null)
                {
                    StationReturn.Data = ee.InnerException.Message;
                }
            }



            System.Web.Script.Serialization.JavaScriptSerializer JsonMaker = new System.Web.Script.Serialization.JavaScriptSerializer();
            JsonMaker.MaxJsonLength = int.MaxValue;

            string json = JsonMaker.Serialize(StationReturn);

            //JavaScriptSerializer 實例在序列化對象的時候,遇到 DateTime 類型會序列化出不可讀的數據,
            //因此改用 Newtonsoft 的 JsonConvert 來進行序列化,序列化出來的 DateTime 形如 2017-12-06T11:14:37
            //另外如果遇到無法將 System.DBNull 類型轉換成 string 類型的,可以手動檢測下值的類型,
            //如果是 System.DBNull,直接將值改為 null 即可。
            //實在無法實現你所需要的功能,可將下面這句註釋掉。
            //
            // modify by 張官軍 2017/12/06

            //變更時間格式  modify by Wuq 2018/01/25
            json = Newtonsoft.Json.JsonConvert.SerializeObject(StationReturn, Newtonsoft.Json.Formatting.Indented, new Newtonsoft.Json.Converters.IsoDateTimeConverter {
                DateTimeFormat = "yyyy-MM-dd HH:mm:ss"
            });
            //json = Newtonsoft.Json.JsonConvert.SerializeObject(StationReturn);

            Send(json);
        }
        public async Task <LoginReturn> FacebookLoginHub([FromBody] FacebookLoginModel model)
        {
            LoginReturn ret = new LoginReturn();



            if (!ModelState.IsValid)
            {
                ret.errors.Add("ModelState Error");
                ret.success = false;
                //return BadRequest(ModelState);
                return(ret);
            }

            var user = await UserManager.FindByNameAsync(model.FacebookId);


            if (user == null)
            {
                RegisterFacebookModel m = new RegisterFacebookModel();
                m.FacebookAccessToken = model.FacebookAccessToken;
                var reg = await RegisterWithFacebook(m);

                if (reg.success == false)
                {
                    ret.success = false;
                    ret.errors  = reg.errors;
                    return(ret);
                }

                user = await UserManager.FindByNameAsync(model.FacebookId);

                await ChatModel.CreateSessionWithUser();

                await ChatModel.SignUpForChat(user);

                // await  ChatModel.SignUpForChat(user);
            }

            ///Must be registered by now



            ///Refresh Tokena

            if (!await UserManager.CheckPasswordAsync(user, model.FacebookAccessToken))
            {
                RegisterFacebookModel m = new RegisterFacebookModel();
                m.FacebookAccessToken = model.FacebookAccessToken;
                var reg = await ChangeFacebookAccessToken(m);

                if (reg.success == false)
                {
                    ret.success = false;
                    ret.errors  = reg.errors;
                    return(ret);
                }
            }


            return(ret);
        }
Esempio n. 33
0
        /// <summary>
        /// 登錄API
        /// </summary>
        /// <param name="requestValue"></param>
        /// <param name="Data"></param>
        /// <param name="StationReturn"></param>
        public void Login(Newtonsoft.Json.Linq.JObject requestValue, Newtonsoft.Json.Linq.JObject Data, MESStationReturn StationReturn)
        {
            string  User_Name = Data["User_Name"].ToString();/// EMP_NAME  IS EMP_NO
            string  PWD       = Data["Password"].ToString();
            DataSet res       = new DataSet();

            Language = Data["Language"].ToString();
            MESReturnMessage.Language = Language;
            LoginReturn lr = new LoginReturn();

            MESDBHelper.OleExec SFCDB = _DBPools["SFCDB"].Borrow();

            MESDataObject.Module.T_c_user GetLoginInformation = new MESDataObject.Module.T_c_user(SFCDB, this.DBTYPE);
            //   string strSql = $@" select * from C_USER where EMP_NO='{User_Name}' and EMP_PASSWORD='******' ";
            //MESDataObject.Module.Row_c_user user = GetPassword.getC_Userbyempno("TEST",SFCDB,this.DBTYPE);

            DataTable           dt   = GetLoginInformation.SelectC_Userbyempno(User_Name, SFCDB, this.DBTYPE);
            List <c_user_model> lsit = new List <c_user_model>();

            if (dt.Rows.Count > 0)
            {
                foreach (DataRow item in dt.Rows)
                {
                    lsit.Add(new c_user_model
                    {
                        ID            = item["ID"].ToString(),
                        FACTORY       = item["FACTORY"].ToString(),
                        BU_NAME       = item["BU_NAME"].ToString(),
                        EMP_NO        = item["EMP_NO"].ToString(),
                        EMP_NAME      = item["EMP_NAME"].ToString(),
                        EMP_PASSWORD  = item["EMP_PASSWORD"].ToString(),
                        EMP_LEVEL     = item["EMP_LEVEL"].ToString(),
                        DPT_NAME      = item["DPT_NAME"].ToString(),
                        POSITION_NAME = item["POSITION_NAME"].ToString(),
                        MAIL_ADDRESS  = item["MAIL_ADDRESS"].ToString(),
                        PHONE_NUMBER  = item["PHONE_NUMBER"].ToString(),
                        LOCATION      = item["LOCATION"].ToString(),
                        LOCK_FLAG     = item["LOCK_FLAG"].ToString(),
                        AGENT_EMP_NO  = item["AGENT_EMP_NO"].ToString(),
                        EMP_DESC      = item["EMP_DESC"].ToString(),
                        EDIT_EMP      = item["EDIT_EMP"].ToString(),
                        EMP_EN_NAME   = item["EMP_EN_NAME"].ToString()
                    }
                             );
                }
            }

            LogicObject.User lu = new LogicObject.User();
            //if (user.EMP_PASSWORD == user.EMP_PASSWORD)
            if (true)
            {
                string token1     = DateTime.Now.ToString("yyyyMMddHHmmss");
                string token2     = rand.Next(100, 999).ToString();
                char[] TokenChars = (token1 + token2).ToArray();
                byte[] TokenBytes = Encoding.Default.GetBytes(TokenChars);
                string TokenBas64 = Convert.ToBase64String(TokenBytes);
                StationReturn.Status  = StationReturnStatusValue.Pass;
                StationReturn.Message = "登錄成功";
                LoginUser             = lu;
                //lr = new LoginReturn() { Token = TokenBas64, User_ID = user.EMP_NO};
                lr = new LoginReturn()
                {
                    Token = TokenBas64, User_ID = LoginUser.EMP_NO
                };
            }
            else
            {
                StationReturn.Status  = StationReturnStatusValue.Fail;
                StationReturn.Message = "登錄失敗!密碼錯誤或用戶名不存在!!";
            }
            StationReturn.Data = lr;
            _DBPools["SFCDB"].Return(SFCDB);
        }