public static void LoginWCF(string userName, string userPWD) { //登陆wcf using (WcfTcpClient<IMemberRetister> client = factory.CreateClient<IMemberRetister>()) { LoginInfo loginInfo = new LoginInfo(); loginInfo.UserName = userName; loginInfo.UserPWD = "123456"; LoginResult result = new LoginResult(); loginInfo.IP = "192.168.1.1"; loginInfo.Url = ""; if (loginInfo.Url.Length > 300) { loginInfo.Url = loginInfo.Url.Substring(0, 250); } if (string.IsNullOrEmpty(loginInfo.SubUserName)) { result = client.Channel.Login(loginInfo); } else { result = client.Channel.Login(loginInfo, true); } } }
/// <summary> /// 注册登录信息 /// </summary> /// <param name="loginInfo"></param> /// <returns></returns> internal string Registry(LoginInfo loginInfo) { string key = loginInfo.Guid.ToString(); LoginInfoRegistry.LoginInfoDao.Save(loginInfo); this.m_loginInfos.Add(key, loginInfo); return key; }
public static LoginInfo Login(string loginName,string password) { LoginInfo loginInfo = null; password = EncryptHelper.Md5(password); loginName = loginName.Trim(); using (AccountEntities accountEntities = new AccountEntities()){ User user = accountEntities.User.FirstOrDefault(x => x.LoginName == loginName && x.Password == password && x.IsActive); if(user != null){ string ip = Fetch.UserIp; loginInfo = accountEntities.LoginInfo.FirstOrDefault(x => x.LoginName == loginName && x.ClientIP == ip); if(loginInfo != null) loginInfo.LastAccessTime = DateTime.Now; else{ loginInfo = new LoginInfo { LastAccessTime = DateTime.Now, LoginToken = Guid.NewGuid(), UserID = user.ID, LoginName = loginName, ClientIP = ip, BusinessPermissionString = "101,102,201,202,301,302,303,304,401,402,403", //暂时默认所有权限 CreateTime = DateTime.Now }; accountEntities.LoginInfo.Add(loginInfo); accountEntities.SaveChanges(); } } } return loginInfo; }
public void Login() { LoginInfo loginInfo = new LoginInfo(); loginInfo.RedirectUrl = this.Context.UrlReferrer; this.PropertyBag["loginInfo"] = loginInfo; }
private void btnSubmitComment_Click(object sender, RoutedEventArgs e) { if (IsStringNullEmptyOrWhiteSpace(txtContent.Text) || IsStringNullEmptyOrWhiteSpace(txtName.Text)) { ShowMessage("Alle felter skal udfyldes."); return; } if (!isEmail(txtEmail.Text)) { ShowMessage("Indtast valid email."); return; } //add email and name to settings var loginInfo = new LoginInfo {Email = txtEmail.Text, Name = txtName.Text}; //Save settings LocalStorageHelper.Current.LoginInfo = loginInfo; //lock up UIelements so no dobbeltclick / dobbelpost can occur. UIState(false); post.Comments.Add(new Comment(){Content = txtContent.Text + "\r\n", Date = DateTime.Now, Name = txtName.Text}); ProgressBarLoading(true); //create request url string postUrl = "http://www.windowsphonefan.dk/?json=respond.submit_comment&post_id=" + post.Id + "&name=" + txtName.Text + "&email=" + txtEmail.Text + "&content=" + txtContent.Text; HttpWebRequest request = (HttpWebRequest)HttpWebRequest.Create(postUrl); request.BeginGetResponse(requestResponse, request); }
/// <summary> /// Si autentifica all'interno del gioco /// </summary> /// <param name="info">Struttura contenente le informazioni necessarie per il login.</param> /// <returns>True se il bot riesce ad autentificarsi correttamente, altrimenti False</returns> public void Login(LoginInfo info) { _loginInfo = info; var thr = new Thread(BotLoop) { IsBackground = true }; thr.SetApartmentState(ApartmentState.STA); thr.Start(); }
public LoginState Login(string loginId, string password, bool remember) { LoginUser user = null; password = Md5Encrypt.PasswordEncode(password); user =Context.Instance.SingleOrDefault<LoginUser>("SELECT a.userid,a.usertype,a.password,a.roleid,a.level,a.organids,a.nickname,a.states from sys_userinfo a where (a.loginid=@0 or (a.isbindemail='true' AND a.email=@0) or (a.isbindphone='true' AND a.phonenumber=@0)) and a.usertype=@1", loginId, (int)UserType.Admin); if (user != null && user.UserId != 0) { if (user.Password != password) { SetErrors(); return LoginState.PasswordError; } if ((UserStatus)user.States == UserStatus.Lock) return LoginState.IsLock; var loginInfo = new LoginInfo() { UserId=user.UserId,Type=user.UserType,Level=user.Level, HeadImg=user.HeadImg, NickName=user.NickName, OrganId=user.OrganIds, RoleId=user.RoleId}; if (!remember) SaveLoginInfo(loginInfo); else SaveLoginInfo(loginInfo,new TimeSpan(100, 0, 0)); return LoginState.Success; } else { SetErrors(); return LoginState.NoLoginId; } }
public TrayMainWindowViewModel(IViewModel mainArea, TrayMainWindowMenu menu, IStatusViewModel status, LoginInfo loginInfo, IWelcomeViewModel welcomeViewModel) { _mainArea = Consts.FirstRun /* || Cheat.Consts.IsTestVersion */ ? welcomeViewModel : mainArea; _menu = menu; _status = status; _loginInfo = loginInfo; welcomeViewModel.Close.Subscribe(x => MainArea = mainArea); _taskbarToolTip = this.WhenAnyValue(x => x.DisplayName, x => x.Status, FormatTaskbarToolTip) .ToProperty(this, x => x.TitleToolTip); _avatarUrl = this.WhenAnyValue<TrayMainWindowViewModel, Uri, AccountInfo>(x => x.LoginInfo.Account, x => new Uri("http:" + AvatarCalc.GetAvatarURL(x))) .ToProperty(this, x => x.AvatarUrl); _installUpdate = ReactiveCommand.CreateAsyncTask( this.WhenAnyValue(x => x.UpdateState, state => state == AppUpdateState.UpdateAvailable), async x => await RequestAsync(new OpenWebLink(ViewType.Update)).ConfigureAwait(false)) .DefaultSetup("InstallUpdate"); _goAccount = ReactiveCommand.CreateAsyncTask( async x => await RequestAsync(new OpenWebLink(ViewType.Profile)).ConfigureAwait(false)) .DefaultSetup("OpenProfile"); _goPremium = ReactiveCommand.CreateAsyncTask( async x => await RequestAsync( new OpenWebLink(_loginInfo.IsPremium ? ViewType.PremiumAccount : ViewType.GoPremium)) .ConfigureAwait(false)) .DefaultSetup("GoPremium"); IViewModel previousMain = null; _switchQueue = ReactiveCommand.CreateAsyncTask( async x => { if (previousMain == null) { previousMain = _mainArea; MainArea = await RequestAsync(new GetQueue()).ConfigureAwait(false); } else { MainArea = previousMain; previousMain = null; } }); status.SwitchQueue = _switchQueue; // TODO.. Listen<LoginChanged>() .Select(x => x.LoginInfo) .ObserveOnMainThread() .BindTo(this, x => x.LoginInfo); // We need to receive these right away.. // toDO: Think about how to make this only on WhenActivated Listen<AppStateUpdated>() .Select(x => x.UpdateState) .ObserveOnMainThread() .BindTo(this, x => x.UpdateState); }
public void PayInvoicesCaSyS(Collection<InvoiceDetails> invoices, LoginInfo info, string lang, string email) { var _invoicesNumbers = string.Empty; var amount = 0m; foreach (var item in invoices) { amount += item.Invoice_Unbilled_Amount; _invoicesNumbers += item.Invoice_Ref_Number + "; "; } _invoicesNumbers = _invoicesNumbers.Trim().TrimEnd(';'); try { var invoiceCount = invoices.Count; var tmName1 = string.Empty; var tmName2 = string.Empty; //ToDo Da se sredi var myOracle = new MyOracle(ConfigurationManager.ConnectionStrings["OracleConnString"].ToString()); var ePaymentSessionId = myOracle.GenerateOrderId(); var casys = new Casys { PaymentOKURL = EnvironmentHelper.PaymentOkurlInvoices + "?orderId=" + ePaymentSessionId + "&lang=" + lang, PaymentFailURL = EnvironmentHelper.PaymentFailurlInvoices + "?orderId=" + ePaymentSessionId + "&lang=" + lang, PayToMerchant = Settings.Default.MerchantIdInvoices, AmountToPay = InvoicesAmountForCaSyS(amount), AmountCurrency = "MKD", Details1 = info.MSISDN, Details2 = ePaymentSessionId, Details3 = lang, Telephone = info.MSISDN, MerchantName = Settings.Default.MerchantName, Email = email, CasysPassword = EnvironmentHelper.CasysPasswordInvoices, CasysUrl = EnvironmentHelper.ReturnCasysURL(lang) }; if (SaveToDB(ePaymentSessionId, info, invoices, email)) { var rp = new RemotePost(); rp.Post(casys); // -------->>>> Kon CaSyS } else { throw new Exception(); } } catch (ThreadAbortException) { return; } catch (Exception ex) { //Utils.LogError(ex); throw; } }
public UserCenterViewModel() { UserLoginInfo = new LoginInfo(); _LoginGridVisibility = Visibility.Visible; _InfoGridVisibility = Visibility.Collapsed; _LoginBtnText = "登录"; }
private async Task TryHandleLoggedIn(LoginInfo localUserInfo) { try { await HandleLoggedIn(localUserInfo).ConfigureAwait(false); // try fetch userinfo. if failed, consider logged out, perhaps ask the website for login again } catch (Exception ex) { MainLog.Logger.FormattedWarnException(ex, "Failure while processing login info"); await HandleLoggedOut(localUserInfo).ConfigureAwait(false); } }
void UpdateLogin(LoginInfo loginInfo) { // TODO: Monitor realtime.. // TODO: Don't reach into Cheat.. _loginInfo.IsVisible = loginInfo.IsLoggedIn; _login.IsVisible = !loginInfo.IsLoggedIn; _logout.IsVisible = !_login.IsVisible; if (loginInfo.IsLoggedIn) _loginInfo.Name = "logged in as " + loginInfo.Account.UserName; }
/// <summary> /// Remove an existing LoginInfo from the collection /// </summary> /// <pdGenerated>Default Remove</pdGenerated> public void RemoveLoginInfo(LoginInfo oldLoginInfo) { if (oldLoginInfo == null) return; if (this.loginInfo != null) if (this.loginInfo.Contains(oldLoginInfo)) { this.loginInfo.Remove(oldLoginInfo); oldLoginInfo.RoleInfo = null; } }
public TrayMainWindowMenu(LoginInfo loginInfo) { _loginInfo = new MenuItem("logged in as ...") {IsEnabled = false, IsVisible = false}; _login = Items.First(x => x.AsyncAction == Login); _logout = Items.First(x => x.AsyncAction == Logout); Items.Insert(0, _loginInfo); UpdateLogin(loginInfo); // TODO: Activation doesnt work atm :S // this.WhenActivated(d => d(ListenIncludeLatest<LoginChanged>().Select(x => x == null ? null : x.LoginInfo).ObserveOnMainThread().Subscribe(UpdateLogin))); this.Listen<LoginChanged>() .Select(x => x.LoginInfo).ObserveOnMainThread() .Subscribe(UpdateLogin); }
public ChangeGestRequest(LoginInfo loginInfo) { Dictionary<string, object> dic = new Dictionary<string, object> (); dic.Add ("memSeq", UserMgr.UserInfo.memSeq); dic.Add ("memberEmail", loginInfo.email); dic.Add ("memberPwd", loginInfo.memberPwd); dic.Add ("memUID", loginInfo.memUID); dic.Add ("deviceID", loginInfo.DeviceID); // AddField ("param", JsonFx.Json.JsonWriter.Serialize (dic)); AddField("param", Newtonsoft.Json.JsonConvert.SerializeObject(dic)); }
/// <summary> /// Add a new LoginInfo in the collection /// </summary> /// <pdGenerated>Default Add</pdGenerated> public void AddLoginInfo(LoginInfo newLoginInfo) { if (newLoginInfo == null) return; if (this.loginInfo == null) this.loginInfo = new System.Collections.Generic.List<LoginInfo>(); if (!this.loginInfo.Contains(newLoginInfo)) { this.loginInfo.Add(newLoginInfo); newLoginInfo.RoleInfo = this; } }
public LoginInfo Login(string UserName, string Password, string Client_identifier = "", string Language = "zh-cn") { LoginInfo LI = new LoginInfo(); ClientToken = Client_identifier; try { HttpWebRequest auth = (HttpWebRequest)WebRequest.Create(RouteAuthenticate); auth.Method = "POST"; AuthenticationRequest ag = new AuthenticationRequest(UserName, Password); DataContractJsonSerializer agJsonSerialiaer = new DataContractJsonSerializer(typeof(AuthenticationRequest)); MemoryStream agJsonStream = new MemoryStream(); agJsonSerialiaer.WriteObject(agJsonStream, ag); agJsonStream.Position = 0; string logindata = (new StreamReader(agJsonStream)).ReadToEnd(); byte[] postdata = Encoding.UTF8.GetBytes(logindata); auth.ContentLength = postdata.LongLength; Stream poststream = auth.GetRequestStream(); poststream.Write(postdata, 0, postdata.Length); poststream.Close(); HttpWebResponse authans = (HttpWebResponse)auth.GetResponse(); DataContractJsonSerializer ResponseJsonSerializer = new DataContractJsonSerializer(typeof(AuthenticationResponse)); StreamReader ResponseStream = new StreamReader(authans.GetResponseStream()); string ResponseJson = ResponseStream.ReadToEnd(); MemoryStream ResponseJsonStream = new MemoryStream(Encoding.UTF8.GetBytes(ResponseJson)); ResponseJsonStream.Position = 0; AuthenticationResponse Response = ResponseJsonSerializer.ReadObject(ResponseJsonStream) as AuthenticationResponse; if (Response.getClientToken() != NewLogin.ClientToken) { LI.Suc = false; LI.Errinfo = "客户端标识和服务器返回不符,这是个不常见的错误,就算是正版启动器这里也没做任何处理,只是报了这么个错。"; return LI; } LI.Suc = true; LI.UN = Response.getSelectedProfile().getName(); LI.Client_identifier = NewLogin.ClientToken; DataContractSerializer OtherInfoSerializer = new DataContractSerializer(typeof(SortedList)); SortedList OtherInfoList = new SortedList(); OtherInfoList.Add("${auth_uuid}",Response.getSelectedProfile().getId()); OtherInfoList.Add("${auth_access_token}", Response.getAccessToken()); MemoryStream OtherInfoStream = new MemoryStream(); OtherInfoSerializer.WriteObject(OtherInfoStream, OtherInfoList); OtherInfoStream.Position = 0; LI.OtherInfo = (new StreamReader(OtherInfoStream)).ReadToEnd(); return LI; } catch (TimeoutException ex) { LI.Suc = false; LI.Errinfo = ex.Message; return LI; } }
private async Task HandleLoggedIn(LoginInfo localUserInfo) { var userInfo = await _connect.GetUserInfo(CommonUrls.AuthorizationEndpoints.UserInfoEndpoint, localUserInfo.Authentication.AccessToken) .ConfigureAwait(false); localUserInfo.Account = BuildAccountInfo(userInfo); if (localUserInfo.Account.Roles.Contains("premium")) { await _premiumRefresher.ProcessPremium(GetClaim(userInfo, CustomClaimTypes.PremiumToken)) .ConfigureAwait(false); } }
public LoginRequest(LoginInfo loginInfo) { Add ("memberEmail", loginInfo.email); Add ("memberName", loginInfo.nick); Add ("memUID", loginInfo.memUID); Add ("osType", loginInfo.osType); Add ("registType", loginInfo.registType); Add ("memberPwd", loginInfo.memberPwd); Add ("version", Application.version); Add ("deviceID", loginInfo.DeviceID); // mParams = JsonFx.Json.JsonWriter.Serialize (this); mDic = this; }
//[ValidateAntiForgeryToken] public ActionResult Login(LoginInfo li) { string temp_session=""; if (Session["Ginfo"] != null) { temp_session = Session["Ginfo"].ToString(); } var vc = this.HttpContext.Session["vcode"] as 验证码; if (null == vc || string.IsNullOrWhiteSpace(li.VerifyCode)) { ViewBag.WrongLoginMessage = "请填写验证码"; return View(); } if (li.VerifyCode.ToUpper() != vc.Code) { ViewBag.WrongLoginMessage = "验证码错误"; return View(); } var u = this.HttpContext.登录(li.LoginName, li.LoginPwd, li.noExpire); Session["Ginfo"] = temp_session; //记录登录统计 登录统计 logindate = new 登录统计(); logindate.登录结果 = 登录结果.用户名或密码错误; logindate.用户数据.用户ID = -1; logindate.登录IP = FileHelper.StrHelp.GetIPAddress(); logindate.内网访问 = false; if (null != u) { #if INTRANET logindate.内网访问 = true; if (!(u is 单位用户 || u is 运营团队)) { HttpContext.登出(); return RedirectToAction("CanNotLoginIntranet", "错误页面"); } #endif logindate.登录结果 = 登录结果.登录成功; logindate.用户数据.用户ID = u.Id; 登录统计管理.添加登录统计(logindate); return Jump(u); } 登录统计管理.添加登录统计(logindate); ViewBag.WrongLoginMessage = "用户名或密码错误"; return View(); }
/// <summary> /// Used to get List of the subCategory /// </summary> /// <returns></returns> public static UserMaster GetLoginInfo(LoginInfo loginInfo) { try { using (var nie = new NewsIndiaTVEntities()) { var userInfo= nie.UserMasters.FirstOrDefault( m => m.Email == loginInfo.UserName && m.Password == loginInfo.Password && m.IsActive); return userInfo; } } catch (Exception ex) { return null; } }
public LoginGuestRequest(LoginInfo loginInfo) { Dictionary<string, object> dic = new Dictionary<string, object> (); dic.Add ("name", loginInfo.nick == null ? "" : loginInfo.nick); dic.Add ("memUID", loginInfo.memUID == null ? "" : loginInfo.memUID); // Debug.Log("deviceID is "+loginInfo.DeviceID); // loginInfo.DeviceID = "test9"; dic.Add ("osType", loginInfo.osType); #if(UNITY_EDITOR) dic.Add("version", UnityEditor.PlayerSettings.bundleVersion); #elif(UNITY_ANDROID) dic.Add("version", Application.version); #else dic.Add("version", Application.version); #endif dic.Add ("deviceID", loginInfo.DeviceID); // AddField ("param", JsonFx.Json.JsonWriter.Serialize (dic)); AddField("param", Newtonsoft.Json.JsonConvert.SerializeObject(dic)); if (loginInfo.Photo != null && loginInfo.Photo.Length > 0) { if(File.Exists(loginInfo.Photo)){ Debug.Log("a file exists : "+loginInfo.Photo); byte[] bytes = File.ReadAllBytes(loginInfo.Photo); AddBinaryData("file", bytes, "profile.png", "image/png"); } else{ Debug.Log("a file not found : "+loginInfo.Photo); } } if (loginInfo.PhotoBytes != null && loginInfo.PhotoBytes.Length > 0) { Debug.Log("a file exists : "+loginInfo.PhotoBytes); byte[] bytes = loginInfo.PhotoBytes; AddBinaryData("file", bytes, "profile.png", "image/png"); } else{ Debug.Log("a file not found : "+loginInfo.PhotoBytes); } }
/// <summary> /// 根据登录信息进行登录 /// </summary> /// <param name="loginInfo"></param> internal static void SignIn(LoginInfo loginInfo) { if (loginInfo == null || loginInfo.Account == null) { return; } FormsAuthenticationTicket ticket = new FormsAuthenticationTicket(1, loginInfo.Account.FullName, loginInfo.LoginTime, loginInfo.ExpireTime, false, loginInfo.Guid.ToString(), FormsAuthentication.FormsCookiePath); string encTicket = FormsAuthentication.Encrypt(ticket); HttpCookie cookie = new HttpCookie(FormsAuthentication.FormsCookieName, encTicket) { //Domain = FormsAuthenticationHelper.Domain, }; HttpContext.Current.Response.Cookies.Add(cookie); }
public ActionResult Index(LoginInfo log, string confirm) { if (ModelState.IsValid) { try { if (confirm != null && log.Password.Equals(confirm)) { using (var db = new ProjectDatabaseContext()) { var count = (from p in db.LoginInfos where p.Username == log.Username select p).Count(); if (count == 0) { Session["tempuser"] = log.Username; log.Status = "Member"; db.LoginInfos.AddObject(log); db.SaveChanges(); } else { ViewBag.Msg = "<span align='center'>Username Taken</span><br /><br />"; return View(); } } return RedirectToAction("PersonalInfo", "Registration"); } ViewBag.Msg = "<span align='center'>Password Didn't Match</span><br /><br />"; return View(); } catch (Exception e) { return View(); } } return View(); }
private void OnApplicationFocus(bool focus) { if (focus) { OnLogin onLo = new OnLogin("Login", LoginInfo.Instance().mylogindata.user_id, LoginInfo.Instance().mylogindata.room_id.ToString(), LoginInfo.Instance().mylogindata.choosegame.ToString()); string str = JsonMapper.ToJson(onLo); tcp.SendMessage(str); StartCoroutine(GetHistory()); StartCoroutine(OnReGet()); } }
/// <summary> /// 下注 /// </summary> public void BetMethod(GameObject obj) { string num = obj.name; coin = ""; if (LoginInfo.Instance().mylogindata.ALLScroce != "0") { if (isFirstBet && LoginInfo.Instance().mylogindata.coindown < float.Parse(LoginInfo.Instance().mylogindata.roomcount)) { if (float.Parse(LoginInfo.Instance().mylogindata.ALLScroce) < float.Parse(LoginInfo.Instance().mylogindata.roomcount)) { //提示下注失败 coin = LoginInfo.Instance().mylogindata.ALLScroce; } else if (float.Parse(LoginInfo.Instance().mylogindata.ALLScroce) >= float.Parse(LoginInfo.Instance().mylogindata.roomcount)) { coin = LoginInfo.Instance().mylogindata.roomcount.ToString(); } isFirstBet = false; } else if (isFirstBet && LoginInfo.Instance().mylogindata.coindown >= float.Parse(LoginInfo.Instance().mylogindata.roomcount)) { if (float.Parse(LoginInfo.Instance().mylogindata.ALLScroce) < float.Parse(LoginInfo.Instance().mylogindata.coindown.ToString())) { coin = LoginInfo.Instance().mylogindata.ALLScroce; } else if (float.Parse(LoginInfo.Instance().mylogindata.ALLScroce) >= float.Parse(LoginInfo.Instance().mylogindata.coindown.ToString())) { coin = LoginInfo.Instance().mylogindata.coindown.ToString(); } } else if (!isFirstBet && LoginInfo.Instance().mylogindata.coindown <= Convert.ToInt32(float.Parse(LoginInfo.Instance().mylogindata.ALLScroce))) { coin = LoginInfo.Instance().mylogindata.coindown.ToString(); } else if (!isFirstBet && LoginInfo.Instance().mylogindata.coindown > Convert.ToInt32(float.Parse(LoginInfo.Instance().mylogindata.ALLScroce))) { coin = LoginInfo.Instance().mylogindata.ALLScroce; } StartCoroutine(OnBetMethod(num)); } else { //没有分可以下了 } }
//长连接轮询 public void PollingPeriods(JsonData jd) { //倒计时 Clock.text = jd["countdown"].ToString(); //局数 Inning.text = jd["periods"].ToString(); //轮数 Rounds.text = jd["season"].ToString(); //彩金相关 if (jd["handsel_status"].ToString() == "1") { Handsel.gameObject.SetActive(false); } else if (jd["handsel_status"].ToString() == "2") { Handsel.gameObject.SetActive(true); Handsel.transform.GetChild(0).GetComponent <Text>().text = "彩金:" + jd["handsel"].ToString(); } //爆机 if (jd["violent"].ToString() == "1") { baoji.SetActive(true); } else { baoji.SetActive(false); } if (jd["countdown"].ToString() == "0") { if (isPlayOver) { //播放停止压分 Audiomanger._instenc.PlayTip(1); FengPanPanel.SetActive(true); isPlayOver = false; } } //记录期数 LoginInfo.Instance().mylogindata.dropContent = jd["drop_date"].ToString(); if (jd["is_win"].ToString() == "0") { if (jd["countdown"].ToString() != "0") { if (!isPlayOver) { //刷新结果一次 StartCoroutine(GetHistory()); //播放开始压分 Audiomanger._instenc.PlayTip(0); FengPanPanel.SetActive(false); KaiJiangPanel.SetActive(false); Red_Win.SetActive(false); Green_Win.SetActive(false); isPlayOver = true; isGetWin = false; IsPlay = false; IsPlay_MP = false; state = 0; } //明牌相关 if (jd["open_deal"] != null) { if (jd["open_deal"].ToString() == "10") { Conch.GetComponent <Animator>().Play("Conch"); } else { //明牌 if (jd["open_deal"].ToString() == "0" || jd["open_deal"].ToString() == "1") { if (!isGetWin) { isGetWin = true; PlayConchAnime(jd["open_deal"].ToString()); //PlayConchAnime_MP(jd["open_deal"].ToString()); } } } } } else if (jd["countdown"].ToString() == "0") { if (jd["winnings"].ToString() != "") { if (!isGetWin) { isGetWin = true; FengPanPanel.SetActive(false); PlayConchAnime(jd["winnings"].ToString()); } } } } else if (jd["is_win"].ToString() == "1") { if (jd["winnings"].ToString() != "") { if (!isGetWin) { Debug.Log("开奖"); isGetWin = true; FengPanPanel.SetActive(false); PlayConchAnime(jd["winnings"].ToString()); } } } else if (jd["is_win"].ToString() == "2") { if (!isGetWin) { if (jd["winnings"].ToString() != "") { isGetWin = true; FengPanPanel.SetActive(false); PlayConchAnime(jd["winnings"].ToString()); } } if (IsPlay) {//动画播放中 FengPanPanel.SetActive(false); state++; if (state == 3) { if (jd["winnings"].ToString() == "0") { //播放语音红 Audiomanger._instenc.PlaySound(Audiomanger._instenc.Xwy_Win[0]); } else if (jd["winnings"].ToString() == "1") { //播放语音绿 Audiomanger._instenc.PlaySound(Audiomanger._instenc.Xwy_Win[1]); } KaiJiangPanel.SetActive(false); //报结果 StartCoroutine(GetWinInfo()); //获取历史记录 StartCoroutine(GetHistory()); } else if (state > 3) { //持续获取历史记录 StartCoroutine(GetHistory()); } } else {//没有播放动画 直接显示 KaiJiangPanel.SetActive(true); //if (jd["winnings"].ToString() == "0") //{ // Conch.GetComponent<Animator>().Play("Conch_redEnd"); //} else if (jd["winnings"].ToString()=="1") //{ // Conch.GetComponent<Animator>().Play("Conch_greedEnd"); //} //持续获取历史记录 StartCoroutine(GetHistory()); } } }
// Update is called once per frame void Update() { // Incoming Connection IDs int incomingSocketID = -1; int incomingConnectionID = -1; int incomingChannelID = -1; byte[] incomingMessageBuffer = new byte[_incomingBufferSize]; int dataSize = 0; byte error; NetworkEventType incomingNetworkEvent = NetworkTransport.Receive(out incomingSocketID, out incomingConnectionID, out incomingChannelID, incomingMessageBuffer, _incomingBufferSize, out dataSize, out error); switch (incomingNetworkEvent) { case NetworkEventType.Nothing: break; case NetworkEventType.ConnectEvent: Debug.Log("Master Server: new client connected"); ++_numberOfConnections; break; case NetworkEventType.DataEvent: string message = Encoding.UTF8.GetString(incomingMessageBuffer); int prefix = 0; int index; string newMessage = ""; // New parser now allows client commands to be > 1 digit for (index = 0; index < message.Length; ++index) { if (message[index] == '{') { break; } } prefix = Convert.ToInt32(message.Substring(0, index)); newMessage = message.Substring(index); // Have game servers register themselves. if (prefix == (int)MasterServerCommands.RegisterGameServer) { Debug.Log("register a server"); foreach (KeyValuePair <string, GameInstanceStats> instance in _gameInstances) { if (instance.Value.serverID == 0) { instance.Value.serverID = JsonUtility.FromJson <PortID>(newMessage).portID; instance.Value.socketID = incomingSocketID; instance.Value.connectionID = incomingConnectionID; instance.Value.channelID = incomingChannelID; break; } } } else if (prefix == (int)MasterServerCommands.RegisterClient) { if (!_clients.ContainsKey(incomingConnectionID)) { ClientInfo clientInfo = new ClientInfo(incomingSocketID, incomingConnectionID, incomingChannelID); _clients.Add(incomingConnectionID, clientInfo); Debug.Log(incomingConnectionID + " added to _clients"); } } //process login info else if (prefix == (int)MasterServerCommands.C_VerifyLogin) { LoginInfo info = JsonUtility.FromJson <LoginInfo>(newMessage); StartCoroutine(verifyLogin(info.username, info.password, incomingSocketID, incomingConnectionID, incomingChannelID)); } //process create account info else if (prefix == (int)MasterServerCommands.C_CreateAccount) { LoginInfo info = JsonUtility.FromJson <LoginInfo>(newMessage); StartCoroutine(CreateUser(info.username, info.password, incomingSocketID, incomingConnectionID, incomingChannelID)); } // Process game connection requests else if (prefix == (int)MasterServerCommands.C_SelectGameInstance) { string serverName = JsonUtility.FromJson <ServerInfo>(newMessage).servername; if (_gameInstances.ContainsKey(serverName.ToLower())) { // Connect client to an already existing game server. if (_gameInstances[serverName].inGamePlayers < 4 && _gameInstances[serverName].openToConnections == true) { // Tells client that game is being created string jsonToBeSent = "13"; jsonToBeSent += JsonUtility.ToJson(""); byte[] messageBuffer = Encoding.UTF8.GetBytes(jsonToBeSent); NetworkTransport.Send(incomingSocketID, incomingConnectionID, incomingChannelID, messageBuffer, messageBuffer.Length, out error); Debug.Log("Forwarding player to already established game: " + serverName); StartCoroutine(ForwardPlayerToGame(serverName.ToLower(), _clients[incomingConnectionID])); } else { Debug.Log("In Game Players: " + _gameInstances[serverName].inGamePlayers); Debug.Log("Open to new connections? " + _gameInstances[serverName].openToConnections); string jsonToBeSent = "12"; jsonToBeSent += JsonUtility.ToJson(""); byte[] messageBuffer = Encoding.UTF8.GetBytes(jsonToBeSent); NetworkTransport.Send(incomingSocketID, incomingConnectionID, incomingChannelID, messageBuffer, messageBuffer.Length, out error); } } else { if (_numberOfGameInstances == _maxGameInstances) { Debug.Log("Maximum game instances reached."); MaximumInstancesReached(_gameInstances, _clients[incomingConnectionID]); } else { // Create an instance of a game and have the client connect. _numberOfGameInstances++; _gameInstances.Add(serverName.ToLower(), new GameInstanceStats(serverName.ToLower())); if (_enableAutomaticServerInstanceExecute) { System.Diagnostics.ProcessStartInfo startInfo = new System.Diagnostics.ProcessStartInfo(); startInfo.FileName = _GameInstancePath; System.Diagnostics.Process.Start(startInfo); } // Tells client that game is being created string jsonToBeSent = "13"; jsonToBeSent += JsonUtility.ToJson(""); byte[] messageBuffer = Encoding.UTF8.GetBytes(jsonToBeSent); NetworkTransport.Send(incomingSocketID, incomingConnectionID, incomingChannelID, messageBuffer, messageBuffer.Length, out error); // Forwards player to game StartCoroutine(ForwardPlayerToGameWithDelay(serverName.ToLower(), _clients[incomingConnectionID])); } } } else if (prefix == (int)MasterServerCommands.VerifyOccupancy) { int inGamePlayers = JsonUtility.FromJson <GameServerInfo>(newMessage).inGamePlayers; string serverName = JsonUtility.FromJson <GameServerInfo>(newMessage).serverName; Debug.Log("Verify Occupancy: " + serverName); _gameInstances[serverName.ToLower()].inGamePlayers = inGamePlayers; } else if (prefix == (int)MasterServerCommands.GS_openToConnections) { GameInstanceStats gs = JsonUtility.FromJson <GameInstanceStats>(newMessage); Debug.Log("OpenToConnections message received | " + gs.serverName); _gameInstances[gs.serverName.ToLower()].openToConnections = true; } else if (prefix == (int)MasterServerCommands.GS_closedToConnections) { GameInstanceStats gs = JsonUtility.FromJson <GameInstanceStats>(newMessage); Debug.Log("closedToConnections message received | " + gs.serverName); _gameInstances[gs.serverName.ToLower()].openToConnections = false; } break; case NetworkEventType.DisconnectEvent: _numberOfConnections = --_numberOfConnections < 0 ? 0 : _numberOfConnections; if (_activeusernames.Contains(_clients[incomingConnectionID].username)) { _activeusernames.Remove(_clients[incomingConnectionID].username); } break; } }
/// <summary> /// 根据USRID,得到登录信息 /// </summary> /// <param name="UsrId"></param> /// <returns></returns> protected LoginInfo GetLoginInfoByUsrId(string UsrId) { //查询商品库 var qrydtapwrs = from a in WmsDc.dtapwr join b in WmsDc.bizdep on a.dptid equals b.savdptid join qu in WmsDc.wms_set on new { dptid = b.dptid, savdptid = b.savdptid } equals new { dptid = qu.val2, savdptid = qu.val3 } join st in WmsDc.wms_set on new { savdptid = qu.val3, storetypeid = WMSConst.SET_TYPE_STORETYPEDEFIND } equals new { savdptid = st.val1, storetypeid = st.setid } join d in WmsDc.dpt on b.savdptid equals d.dptid join f in WmsDc.dpt on st.val3 equals f.dptid where b.isrs == GetY() && a.empid == UsrId && qu.setid == WMSConst.SET_TYPE_RELATEDPT && qu.val1 != null && st.val2 == "1" && // setid="008" , val2="1" --商品库(商品区、堆头区),val2="2" --残损库 (from ee in WmsDc.dtapwr where ee.empid == UsrId && ee.dptid == b.dptid select 1).Any() select new GetRealteQuResult { qu = qu.val1, dptid = b.dptid.Trim(), savdptid = b.savdptid.Trim(), savdptdes = d.dptdes.Trim(), storetypeid = st.val2.Trim(), savstoreid = st.val3.Trim(), savstoredes = f.dptdes.Trim() }; //查询残损库 var qrydta_cs = from a in WmsDc.dtapwr join b in WmsDc.bizdep on a.dptid equals b.savdptid join qu in WmsDc.wms_set on new { dptid = b.dptid, savdptid = b.savdptid } equals new { dptid = qu.val2, savdptid = qu.val3 } join st in WmsDc.wms_set on new { savdptid = qu.val3, storetypeid = WMSConst.SET_TYPE_STORETYPEDEFIND } equals new { savdptid = st.val1, storetypeid = st.setid } join d in WmsDc.dpt on b.savdptid equals d.dptid join f in WmsDc.dpt on st.val3 equals f.dptid where /*b.isrs == GetY() &&*/ a.empid == UsrId && qu.setid == WMSConst.SET_TYPE_RELATEDPT && qu.val1 != null && st.val2 == "2" && // setid="008" , val2="1" --商品库(商品区、堆头区),val2="2" --残损库 (from ee in WmsDc.dtapwr where ee.empid == UsrId && ee.dptid == b.dptid select 1).Any() select new GetRealteQuResult { qu = qu.val1, dptid = b.dptid.Trim(), savdptid = b.savdptid.Trim(), savdptdes = d.dptdes.Trim(), storetypeid = st.val2.Trim(), savstoreid = st.val3.Trim(), savstoredes = f.dptdes.Trim() }; /*qrydta_cs = from e in qrydta_cs * from e1 in WmsDc.dpt * where e1.prtdptid == "998" * select new GetRealteQuResult * { * qu = e.qu, * dptid = e1.dptid.Trim(), * savdptdes = e.savdptdes, * savdptid = e.savdptid, * storetypeid = e.storetypeid, * savstoredes = e.savstoredes, * savstoreid = e.savstoreid * };*/ //堆头区 var qrydta_dt = from e in WmsDc.dtapwr join d in WmsDc.dpt on e.dptid equals d.dptid join st in WmsDc.wms_set on e.dptid equals st.val1 join qu in WmsDc.wms_set on new { savdptid = st.val1, dptid = "all", setid = WMSConst.SET_TYPE_RELATEDPT } equals new { savdptid = qu.val3, dptid = qu.val2, setid = qu.setid } join f in WmsDc.dpt on st.val3 equals f.dptid where st.val2 == "1" && // setid="008" , val2="1" --商品库(商品区、堆头区),val2="2" --残损库 st.setid == WMSConst.SET_TYPE_STORETYPEDEFIND group new { e, d, st, qu, f } by new { qu = qu.val1, dptid = qu.val2, savdptid = st.val1, savdptdes = d.dptdes, storetypeid = st.val2, savstoreid = st.val3, savstoredes = f.dptdes } into g select new GetRealteQuResult { qu = g.Key.qu, dptid = g.Key.dptid, savdptid = g.Key.savdptid, savdptdes = g.Key.savdptdes, storetypeid = g.Key.storetypeid, savstoreid = g.Key.savstoreid, savstoredes = g.Key.savstoredes }; qrydta_dt = from e in qrydta_dt from e1 in WmsDc.dpt where e1.prtdptid == "998" select new GetRealteQuResult { qu = e.qu, dptid = e1.dptid.Trim(), savdptdes = e.savdptdes, savdptid = e.savdptid, savstoredes = e.savstoredes, savstoreid = e.savstoreid }; var arrqrydtapwrs = qrydtapwrs.ToArray(); var arrqrydta_cs = qrydta_cs.ToArray(); var arrqrydta_dt = qrydta_dt.ToArray(); //合并商品库和残损库 var arrqrydtapwrsUnion = arrqrydtapwrs.Union(arrqrydta_cs).Union(arrqrydta_dt); GetRealteQuResult[] arrdtapwrs = arrqrydtapwrsUnion.ToArray(); var qrydtapwrsgroup = from e in arrdtapwrs.AsEnumerable() group e by new { savdptid = e.savdptid != null?e.savdptid.Trim() : "", savdptdes = e.savdptdes != null?e.savdptdes.Trim() : "", storetypeid = e.storetypeid != null?e.storetypeid.Trim() : "", savstoreid = e.savstoreid != null?e.savstoreid.Trim() : "", savstoredes = e.savstoredes != null?e.savstoredes.Trim() : "" } into g select new GetRealteQuResult { savdptdes = g.Key.savdptdes.Trim(), savdptid = g.Key.savdptid.Trim(), storetypeid = g.Key.storetypeid.Trim(), savstoreid = g.Key.savstoreid.Trim(), savstoredes = g.Key.savstoredes.Trim() }; var arrqrySavStoreids = (from ge in qrydtapwrsgroup group ge by new { ge.savstoreid, ge.savstoredes } into g select new Store { Storeid = g.Key.savstoreid, Storedes = g.Key.savstoredes }).ToArray(); var qry = from e in this.WmsDc.emp join e1 in WmsDc.dpt on e.dptid equals e1.dptid where e.empid == UsrId && e.isstp == GetN() select new LoginInfo { Usrid = e.empid.Trim(), LoginDtm = DateTime.Now, UsrName = e.empdes.Trim(), EmpPwrs = (from r in WmsDc.emppwr where r.empid == UsrId && r.mdlid == "wms_back" select r ).ToArray(), DatPwrs = arrdtapwrs, SavDptids = qrydtapwrsgroup.ToArray(), SavStoreids = arrqrySavStoreids }; LoginInfo li = null; var arrqry = qry.ToArray(); if (arrqry.Length >= 0) { li = arrqry[0]; } return(li); }
public ActionResult Login() { var model = new LoginInfo(); return(View(model)); }
public student(string email, string password, string phonenumber) { logindata = new LoginInfo(email, password); PhoneNumber = phonenumber; }
public async Task <ActionResult <string> > UserLoginAsync([FromBody] LoginInfo loginInfo) { var secretKey = _configuration["SecurityKey"]; // TODO: Consumer인 경우 Ticket의 Travel 정보와 LoginInfo의 Location 정보를 대조 User user = await _dbContext.Users .Include(u => u.Devices) .Include(u => u.Enrollments) .FirstOrDefaultAsync(u => u.Name == loginInfo.Name && u.BirthDate.Date == loginInfo.BirthDate.Date && u.Gender == loginInfo.Gender ); // DB에 정보 없음. if (user == null) { return(NotFound(new LoginResponse { success = false })); } _logger.LogWarning($"user {user.Name} logged in."); string roomId = Guid.NewGuid().ToString(); if (user.UserType == UserType.Consumer) { // 컨슈머가 방이 없다면 if (!user.Enrollments.Any()) { // 만들어 주고 입장시킨다. user.Enrollments.Add(new Enrollment { Room = new Room { Id = roomId, Name = user.Name }, EnrolledAt = DateTime.UtcNow }); } else { // 방이 있으니까 방 id를 알려준다. roomId = user.Enrollments.First().RoomId; } } // User가 이미 Device를 등록했는지 체크 -> 새 device 등록 if (!user.Devices.Any(d => d.Id == loginInfo.DeviceId)) { // 디바이스가 디비에 존재하면 다른 유저가 이 디바이스를 사용했었던 것임. var device = await _dbContext.Devices.FirstOrDefaultAsync(d => d.Id == loginInfo.DeviceId); if (device != null) { // 디바이스의 오너를 현재 유저로 변경한다. device.Owner = user; } else { user.Devices.Add(new Device { Id = loginInfo.DeviceId, DeviceType = loginInfo.DeviceType, IsOn = true // 로그인 자체를 chatpage에서 하니까.. }); } } await _dbContext.SaveChangesAsync(); var token = user.JwtToken(loginInfo, secretKey); var response = new LoginResponse { token = token, roomId = roomId, userId = user.Id, userName = user.Name, success = true }; return(Ok(response)); }
public static bool Connect(LoginInfo e) { return(Connect(e.Host, e.User, e.Pass, e.Database)); }
private void LoginComplete(LoginInfo info, Instance inst) { string mainGameUrl = "minecraft.jar"; if (!info.Cancelled) { Console.WriteLine("Version: {0}", info.LatestVersion); GameUpdater updater = new GameUpdater(inst, info.LatestVersion, mainGameUrl, info.ForceUpdate); EventHandler startDelegate = new EventHandler((e, args) => { if (!DirectLaunch) MainWindow.Visible = false; inst.Launch(info.Username, info.SessionID); IConsoleWindow cwin = GUIManager.Main.ConsoleWindow(inst); cwin.DefaultPosition = DefWindowPosition.CenterScreen; cwin.ConsoleClosed += (e2, args2) => { if (DirectLaunch) { Environment.Exit(0); } else { MainWindow.Invoke((e3, args3) => MainWindow.Visible = true); } }; cwin.Show(); }); updater.Completed += (sender, e) => { if (inst.NeedsRebuild) { MainWindow.Invoke((sender2, e2) => { Modder modder = RebuildMCJar(inst); if (modder == null) MainWindow.Invoke(startDelegate); else modder.Completed += (sender3, e3) => MainWindow.Invoke(startDelegate); }); } else MainWindow.Invoke(startDelegate); }; if (!string.IsNullOrEmpty(info.SessionID)) MainWindow.Invoke((o2, args2) => StartModalTask(updater)); else MainWindow.Invoke(startDelegate); } }
public LoginInfo Login(LoginInfo info) { info.Session = Guid.NewGuid().ToString(); ShowLog(">>>>> Login !!!!!!!!!!!!!!!!!!!! :" + info.Session); return(info); }
public LoginInfo Logout(LoginInfo info) { ShowLog(">>>>> Login !!!!!!!!!!!!!!!!!!!! :" + info.Session); info.Session = ""; return(info); }
getUserProfile(LoginInfo loginInfo) { var browser = await PuppeteerInstance.getInstance(); using (var page = await browser.NewPageAsync()) { await TwitterPoster.twitterLoginAsync(loginInfo, page); var profileButtonHandle = await page.WaitForSelectorAsync(ProfileSelector); await profileButtonHandle.ClickAsync(); await Task.Delay(3000); ElementHandle profilePictureHandle = null; ElementHandle profileTitleHandle = null; ElementHandle profileDescriptionHandle = null; ElementHandle profileSiteHandle = null; string imgSrc = ""; string title = ""; string description = ""; string site = ""; try { profilePictureHandle = await page.WaitForSelectorAsync(PictureSelector); } catch (Exception ex) { System.Diagnostics.Debug.WriteLine(ex); profilePictureHandle = null; } if (profilePictureHandle != null) { imgSrc = profilePictureHandle.GetPropertyAsync("src").Result.ToString().Replace("JSHandle:", ""); } await Task.Delay(3000); try { profileTitleHandle = await page.WaitForSelectorAsync(TitleSelector, new WaitForSelectorOptions { Timeout = 3000 }); } catch (Exception) { profileTitleHandle = null; } try { profileDescriptionHandle = await page.WaitForSelectorAsync(DescriptionSelector, new WaitForSelectorOptions { Timeout = 3000 }); } catch (Exception) { profileDescriptionHandle = null; } try { profileSiteHandle = await page.WaitForSelectorAsync(SiteSelector, new WaitForSelectorOptions { Timeout = 3000 }); } catch (Exception) { profileSiteHandle = null; } if (profileTitleHandle != null) { title = profileTitleHandle.GetPropertyAsync("text").Result.ToString().Replace("JSHandle:", ""); } if (profileDescriptionHandle != null) { description = profileDescriptionHandle.GetPropertyAsync("textContent").Result.ToString().Replace("JSHandle:", ""); } if (profileSiteHandle != null) { site = profileSiteHandle.GetPropertyAsync("text").Result.ToString().Replace("JSHandle:", ""); } var profilePicture = SaveImage(imgSrc); var profile = new Profile { picture = profilePicture, title = title, description = description, site = site }; FormControl(profile); await page.GoBackAsync(); await Task.Delay(3000); await browser.CloseAsync(); browser.Dispose(); return(profile); } }
ModifyProfile(Profile profile, LoginInfo loginInfo) { var browser = await PuppeteerInstance.getInstance(); using (var page = await browser.NewPageAsync()) { try { await TwitterPoster.twitterLoginAsync(loginInfo, page); } catch (Exception ex) { System.Diagnostics.Debug.WriteLine(ex); await page.GoToAsync(URL); } await Task.Delay(3000); var profileButtonHandle = await page.WaitForSelectorAsync(ProfileSelector); await profileButtonHandle.ClickAsync(); await Task.Delay(3000); var modifyButtonHandle = await page.WaitForSelectorAsync(ModifyButtonSelector); await modifyButtonHandle.ClickAsync(); await Task.Delay(3000); ElementHandle modifyPictureHandle = null; try { modifyPictureHandle = await page.WaitForSelectorAsync(ModifyPictureSelector); } catch (Exception ex) { System.Diagnostics.Debug.WriteLine(ex); modifyPictureHandle = await page.WaitForSelectorAsync("#page-container > div.ProfileCanopy.ProfileCanopy--withNav.js-variableHeightTopBar.ProfileCanopy--large > div > div.ProfileCanopy-header.u-bgUserColor > div.AppContainer > div.ProfileCanopy-avatar > div.ProfileAvatarEditing > div.ProfileAvatarEditing-buttonContainer > button > div.ProfileAvatarEditing-addAvatarHelp"); await Task.Delay(3000); } var modifyTitleHandle = await page.WaitForSelectorAsync(ModifyTitleSelector); var modifyDescriptionHandle = await page.WaitForSelectorAsync(ModifyDescriptionSelector); var modifySiteHandle = await page.WaitForSelectorAsync(ModifySiteSelector); var saveButtonHandle = await page.WaitForSelectorAsync(SaveButtonSelector); await modifyPictureHandle.ClickAsync(); byte[] byteArrayIn = profile.picture; MemoryStream ms = new MemoryStream(byteArrayIn, 0, byteArrayIn.Length); ms.Position = 0; var returnImage = Image.FromStream(ms, true); returnImage.Save("./ModifyTEMP.png"); var uploadPictureHandle = await page.WaitForSelectorAsync(UploadPictureSelector); await uploadPictureHandle.UploadFileAsync("./ModifyTEMP.png"); var button = await page.WaitForSelectorAsync ("#profile_image_upload_dialog-dialog > div.modal-content > div.modal-footer > button.EdgeButton.EdgeButton--primary.profile-image-save"); await button.ClickAsync(); await Task.Delay(3000); await modifyTitleHandle.FocusAsync(); await page.Keyboard.DownAsync("Control"); await page.Keyboard.PressAsync("A"); await page.Keyboard.UpAsync("Control"); await page.Keyboard.PressAsync("Backspace"); await page.Keyboard.TypeAsync(profile.title); await modifyDescriptionHandle.FocusAsync(); await page.Keyboard.DownAsync("Control"); await page.Keyboard.PressAsync("A"); await page.Keyboard.UpAsync("Control"); await page.Keyboard.PressAsync("Backspace"); await page.Keyboard.TypeAsync(profile.description); await modifySiteHandle.FocusAsync(); await page.Keyboard.DownAsync("Control"); await page.Keyboard.PressAsync("A"); await page.Keyboard.UpAsync("Control"); await page.Keyboard.PressAsync("Backspace"); await page.Keyboard.TypeAsync(profile.site); await saveButtonHandle.ClickAsync(); await browser.CloseAsync(); browser.Dispose(); } }
IEnumerator wwwtosever(string URL, listtype state, action act, bool isconver) { if (URL != null) { UnityWebRequest www = UnityWebRequest.Get(URL); Debug.Log(URL); yield return(www.Send()); wwwinfo temp = new wwwinfo(); if (www.error == null) { if (state == listtype.listforlogininfo) { //temp.statetype = (int)state; //temp.textinfo = www.downloadHandler.text; LoginInfo.Instance().wwwinstance.listforlogininfo.Enqueue(www); } else if (state == listtype.listforhallinfo) { //temp.statetype = (int)state; //temp.textinfo = www.downloadHandler.text; LoginInfo.Instance().wwwinstance.listforhallinfo.Enqueue(www); } else if (state == listtype.listforgameinfo) { //temp.statetype = (int)state; //temp.textinfo = www.downloadHandler.text; LoginInfo.Instance().wwwinstance.listforgameinfo.Enqueue(www); } /// 使用了事件跟委托 进行了观察者模式的使用 switch (act) { case action.login: if (logincallback != null) { logincallback(LoginInfo.Instance().wwwinstance.listforlogininfo.Dequeue()); } break; case action.reganstion: if (regantsionback != null) { regantsionback(LoginInfo.Instance().wwwinstance.listforlogininfo.Dequeue()); } break; case action.isalive: if (isaliveeventback != null) { isaliveeventback(LoginInfo.Instance().wwwinstance.listforgameinfo.Dequeue()); } break; case action.gethallgame: if (gamelisteventback != null) { gamelisteventback(LoginInfo.Instance().wwwinstance.listforgameinfo.Dequeue()); } break; case action.getroomlist: if (roomlistevnetback != null) { roomlistevnetback(LoginInfo.Instance().wwwinstance.listforhallinfo.Dequeue()); } break; default: break; } } else { if (isconver == true) { StartCoroutine(wwwtosever(URL, state, act, isconver)); } } } //Debug.Log("已进入对象"); }
public async Task <ReturnInfo <LoginReturnInfo> > Login(LoginInfo loginInfo) { // 这里写自定义登录验证 var context = await interactionService.GetAuthorizationContextAsync(loginInfo.ReturnUrl); var re = new ReturnInfo <LoginReturnInfo>() { Data = new LoginReturnInfo() { ReturnUrl = loginInfo.ReturnUrl } }; int num = HttpContext.Session.GetInt32("ErrLoginNum").GetValueOrDefault(); num++; //错误登录超过3次则需要验证码 if (num > 3) { if (string.IsNullOrWhiteSpace(loginInfo.VerificationCode)) { re.Data.IsVerificationCode = true; re.SetFailureMsg("请输入验证码"); return(re); } if (string.Compare(loginInfo.VerificationCode, HttpContext.Session.GetString("VerificationCode"), true) != 0) { re.Data.IsVerificationCode = true; re.SetFailureMsg("验证码不对,请输入正确的验证码"); return(re); } } if (users.ValidateCredentials(loginInfo.LoginId, loginInfo.Password)) { var user = users.FindByUsername(loginInfo.LoginId); var isuser = new IdentityServerUser(user.SubjectId) { DisplayName = user.Username, }; isuser.AdditionalClaims.Add(new Claim(ClaimTypes.Name, user.Username)); isuser.AdditionalClaims.Add(new Claim("ProviderName", user.ProviderName)); isuser.AdditionalClaims.Add(new Claim("ProviderSubjectId", user.ProviderSubjectId)); isuser.AdditionalClaims.Add(new Claim("c1", user.Claims.Where(p => p.Type == "c1").FirstOrDefault().Value)); re.SetSuccessMsg("登录成功"); HttpContext.Session.Remove("VerificationCode"); HttpContext.Session.Remove("ErrLoginNum"); await HttpContext.SignInAsync(isuser); } else { HttpContext.Session.SetInt32("ErrLoginNum", num); re.Data.IsVerificationCode = IsNeedIsVerificationCode(); re.SetFailureMsg("用户名或密码不对"); } return(re); }
public string SaveCommodity(string json) { ResultInfo result = new ResultInfo(false); JObject jo = JObject.Parse(json); LoginInfo userInfo = SessionHelper.ReadSession <LoginInfo>(SessionKeys.LoginInfoKey); var bll = new MultiColorPen.BLL.commodity(); //新增 if (jo["id"].ToString() == "-1") { var model = new MultiColorPen.Model.commodity { name = jo["name"].ToString(), number = "NUM" + DateTime.Now.ToString().Replace("/", "").Replace(" ", "").Replace(":", ""), count = (int)jo["count"], price = (decimal)jo["price"], type = jo["type"].ToString(), unit = jo["unit"].ToString(), is_del = "0", special_supply = jo["special_supply"].ToString(), mark = jo["mark"].ToString() }; if (bll.Add(model)) { result.IsSucceed = true; result.Message = "操作成功!"; PublicClass.AddLog("Operating", "新增商品" + model.name + "!"); } else { result.IsSucceed = false; result.Message = "新增失败!"; } } //修改 else { int id = int.Parse(jo["id"].ToString()); var umodel = bll.GetModel(id); umodel.name = jo["name"].ToString(); umodel.count = (int)jo["count"]; umodel.price = (decimal)jo["price"]; umodel.type = jo["type"].ToString(); umodel.unit = jo["unit"].ToString(); umodel.special_supply = jo["special_supply"].ToString(); umodel.mark = jo["mark"].ToString(); List <string> btncode = new List <string>(); if (bll.Update(umodel)) { result.IsSucceed = true; result.Message = "操作成功!"; PublicClass.AddLog("Operating", "编辑商品信息" + umodel.name + "!"); } else { result.IsSucceed = false; result.Message = "修改失败!"; } } return(JsonConvert.SerializeObject(result)); }
private Boolean ConnectToServer(Boolean isFirstTime) { try { this.ShowConnectingMessage("验证登录中……"); //如果连不上?重新获取服务器连接 passiveEngine.SystemToken = SystemToken.Manage + "#" + this.skinTextBoxBusinessAccount.Text + "#" + skinLabelVersion.Text; //if (!GlobalUtil.IPAndPort(new IPEndPoint(IPAddress.Parse(config.BusinessAccount.ServerIP), config.BusinessAccount.ServerPort))) //{ // GlobalMessageBox.Show("连接不到服务地址,请联系客服!"); // return false; //} // CommonGlobalUtil.WriteLog(this.skinTextBoxUser.Text + "," + skinTextBoxPwd.Text + "," + config.BusinessAccount.ServerIP + "," + config.BusinessAccount.ServerPort); String pwdMd5 = SecurityHelper.MD5String2(this.skinTextBoxPwd.Text); LogonResponse result = this.passiveEngine.Initialize(this.skinTextBoxUser.Text.ToLower(), pwdMd5, config.BusinessAccount.ServerIP, config.BusinessAccount.ServerPort, new CustomizeHandler()); switch (result.LogonResult) { case LogonResult.Succeed: LoginInfo info = new LoginInfo(); info.LastLoginID = this.skinTextBoxUser.Text.ToLower(); info.SavePassword = this.skinCheckBoxSavePwd.Checked; if (info.SavePassword) { info.Password = this.skinTextBoxPwd.Text; } else { info.Password = null; } info.loginTime = DateTime.Now; LoginInfo orgInfo = config.LoginInfos.Find(t => t.LastLoginID.ToLower() == info.LastLoginID.ToLower()); if (orgInfo != null) { config.LoginInfos.Remove(orgInfo); } config.LoginInfos.Insert(0, info); config.Save(CONFIG_PATH); CommonGlobalCache.SetBusinessAccount(config.BusinessAccount); this.UpdateDialogResult(); if (!String.IsNullOrEmpty(result.FailureCause)) { ShowDialogMessage(result.FailureCause); CommonGlobalCache.SystemUpdateMessage = result.FailureCause; } break; case LogonResult.Failed: this.ShowConnectingMessage(result.FailureCause, true); break; case LogonResult.HadLoggedOn: this.ShowConnectingMessage("该帐号已经在其它地方登录!", true); break; case LogonResult.VersionMismatched: this.ShowConnectingMessage("客户端与服务器的CJFramework版本不一致!", true); break; default: break; } } catch (SocketException ex) { if (!isFirstTime) { GlobalUtil.WriteLog(ex + "!isFirstTime1 ERROR Message=" + ex.Message + "Exception StackTrace=" + ex.StackTrace); this.ShowConnectingMessage("连接不到服务端,请联系客服!", true); } else { GlobalUtil.WriteLog(ex + "1ERROR Message=" + ex.Message + "Exception StackTrace=" + ex.StackTrace); return(false); } } catch (Exception ex) { if (!isFirstTime) { this.ShowConnectingMessage("系统异常" + ex.Message, true); GlobalUtil.WriteLog(ex + "!isFirstTime2 ERROR Message=" + ex.Message + "Exception StackTrace=" + ex.StackTrace); } else { GlobalUtil.WriteLog(ex + "2ERROR Message=" + ex.Message + "Exception StackTrace=" + ex.StackTrace); return(false); } } return(true); }
public student(string username, string password) { logindata = new LoginInfo(username, password); }
private Node AutoRegister(Node node, LoginInfo inf, out Boolean autoReg) { var set = Setting.Current; if (!set.AutoRegister) { throw new ApiException(12, "禁止自动注册"); } var di = inf.Node; if (node == null) { // 该硬件的所有节点信息 var list = Node.Search(di.UUID, di.MachineGuid, di.Macs); // 当前节点信息,取较老者 list = list.OrderBy(e => e.ID).ToList(); // 找到节点 if (node == null) { node = list.FirstOrDefault(); } } var ip = UserHost; var name = ""; if (name.IsNullOrEmpty()) { name = di.MachineName; } if (name.IsNullOrEmpty()) { name = di.UserName; } if (node == null) { node = new Node { Enable = true, CreateIP = ip, CreateTime = DateTime.Now, } } ; // 如果未打开动态注册,则把节点修改为禁用 node.Enable = set.AutoRegister; if (node.Name.IsNullOrEmpty()) { node.Name = name; } // 优先使用节点散列来生成节点证书,确保节点路由到其它接入网关时保持相同证书代码 node.Code = BuildCode(di); if (node.Code.IsNullOrEmpty()) { node.Code = Rand.NextString(8); } node.Secret = Rand.NextString(16); node.UpdateIP = ip; node.UpdateTime = DateTime.Now; node.Save(); autoReg = true; WriteHistory("动态注册", true, node, inf.ToJson(false, false, false)); return(node); }
public RepairCodeApp SetLoginInfo(LoginInfo loginInfo) { _app._loginInfo = loginInfo; return(this); }
public LoginInfo KeepLive(LoginInfo info) { return(info); }
private LoginInfo PromptUserForLogin(string serverName, string password) { global::Controls.LoadingDialog.HideDialog(); Forms.LoginForm loginForm = new CallButler.Manager.Forms.LoginForm(); // Populate our recent servers list //if (Properties.Settings.Default.RecentServers != null) //{ string[] recentServers = new string[Properties.Settings.Default.RecentServers.Count]; Properties.Settings.Default.RecentServers.CopyTo(recentServers, 0); loginForm.RecentServers = recentServers; //} loginForm.ServerName = serverName; if (password != null && password.Length > 0) { loginForm.Password = password; loginForm.SavePassword = true; } if (loginForm.ShowDialog(this) == DialogResult.OK) { LoginInfo loginInfo = new LoginInfo(); loginInfo.Port = Properties.Settings.Default.TcpManagementPort; if (loginForm.ServerName != null) { string[] serverParams = loginForm.ServerName.Split(':'); if (serverParams.Length > 1) { int.TryParse(serverParams[1], out loginInfo.Port); } loginInfo.Server = serverParams[0]; } loginInfo.Password = loginForm.Password; loginInfo.SavePassword = loginForm.SavePassword; return loginInfo; } return null; }
public LoginResponse Login(LoginInfo inf) { var code = inf.Code; var secret = inf.Secret; var node = Node.FindByCode(code, true); var di = inf.Node; _nodeForHistory = node; // 校验唯一编码,防止客户端拷贝配置 if (node != null) { node = CheckNode(node, di); } var autoReg = false; if (node == null) { node = AutoRegister(null, inf, out autoReg); } else { if (!node.Enable) { throw new ApiException(99, "禁止登录"); } // 登录密码未设置或者未提交,则执行动态注册 if (node.Secret.IsNullOrEmpty() || secret.IsNullOrEmpty()) { node = AutoRegister(node, inf, out autoReg); } else if (node.Secret.MD5() != secret) { node = AutoRegister(node, inf, out autoReg); } } _nodeForHistory = node ?? throw new ApiException(12, "节点鉴权失败"); var msg = ""; var success = false; try { node.Login(di, UserHost); // 设置令牌,可能已经进行用户登录 CreateToken(node.Code); if (Session != null) { Session["Node"] = node; } // 在线记录 var olt = GetOnline(code, node) ?? CreateOnline(code, node); olt.Save(di, null, Token); msg = $"[{node.Name}/{node.Code}]鉴权成功 "; success = true; } catch (Exception ex) { msg = ex.GetTrue().Message + " "; throw; } finally { // 登录历史 WriteHistory("节点鉴权", success, node, msg + di.ToJson(false, false, false)); XTrace.WriteLine("登录{0} {1}", success ? "成功" : "失败", msg); } var rs = new LoginResponse { Name = node.Name, Token = Token, }; // 动态注册,下发节点证书 if (autoReg) { rs.Code = node.Code; rs.Secret = node.Secret; } return(rs); }
public static async Task <CommonResponse> RegisterYourselfAsync(CheckingType check = null, AllSaloonInfo saloonInfo = null, PersonInfo perInfo = null, LoginInfo log = null) { var http = new HttpClient(); if (saloonInfo != null) { parameters = new FormUrlEncodedContent(new[] { new KeyValuePair <string, string>("user", check.Username), new KeyValuePair <string, string>("city", check.City), new KeyValuePair <string, string>("state", check.State), new KeyValuePair <string, string>("pass", check.Password), new KeyValuePair <string, string>("pin", check.Pin), new KeyValuePair <string, string>("sname", saloonInfo.SaloonName), new KeyValuePair <string, string>("desc", saloonInfo.ShortDesc), new KeyValuePair <string, string>("otp", saloonInfo.OTP), new KeyValuePair <string, string>("email", saloonInfo.Email) }); URI = Constants.SALREG; } else if (perInfo != null) { parameters = new FormUrlEncodedContent(new[] { new KeyValuePair <string, string>("user", check.Username), new KeyValuePair <string, string>("city", check.City), new KeyValuePair <string, string>("state", check.State), new KeyValuePair <string, string>("pass", check.Password), new KeyValuePair <string, string>("pin", check.Pin), new KeyValuePair <string, string>("fname", perInfo.FirstName), new KeyValuePair <string, string>("lname", perInfo.LastName), new KeyValuePair <string, string>("otp", perInfo.OTP), new KeyValuePair <string, string>("email", perInfo.Email) }); URI = Constants.REGUSE; } else { parameters = new FormUrlEncodedContent(new[] { new KeyValuePair <string, string>("user", log.Username), new KeyValuePair <string, string> ("pass", log.Password), new KeyValuePair <string, string>("type", log.TypeLogin) }); URI = Constants.LOGIN; } var response = await http.PostAsync(URI, parameters); var result = await response.Content.ReadAsStringAsync(); var serializer = new DataContractJsonSerializer(typeof(CommonResponse)); var ms = new MemoryStream(Encoding.UTF8.GetBytes(result)); var datax = (CommonResponse)serializer.ReadObject(ms); return(datax); }
public AgvMonitorApp SetLoginInfo(LoginInfo loginInfo) { _app._loginInfo = loginInfo; return(this); }
/// <summary> /// Starts a session and returns user API method capabilities -- which features the given user can and cannot use. /// http://www.sendspace.com/dev_method.html?method=auth.login /// </summary> /// <param name="token">Received on create token</param> /// <param name="username">Registered user name</param> /// <param name="password">Registered password</param> /// <returns>Account informations including session key</returns> public LoginInfo AuthLogin(string token, string username, string password) { Dictionary<string, string> args = new Dictionary<string, string>(); args.Add("method", "auth.login"); args.Add("token", token); args.Add("user_name", username); // lowercase(md5(token+lowercase(md5(password)))) - md5 values should always be lowercase. string passwordHash = TranslatorHelper.TextToHash(password, HashType.MD5); args.Add("tokened_password", TranslatorHelper.TextToHash(token + passwordHash, HashType.MD5)); string response = SendRequest(HttpMethod.POST, APIURL, args); if (!string.IsNullOrEmpty(response)) { ResponsePacket packet = ParseResponse(response); if (!packet.Error) { LoginInfo loginInfo = new LoginInfo(packet.Result); return loginInfo; } } return null; }
public async Task <IActionResult> Login([FromBody] LoginInfo loginInfo) { return(Json(await Service.Login(loginInfo))); }
public LoginInfo Logon(string login, string password) { InternetBankingUser user = db.InternetBankingUsers.ToList().Where( u => u.Login == login && u.PasswordHash == PasswordDistortion(password, u.Salt)).FirstOrDefault(); if (user == null) { return null; } LoginInfo info = new LoginInfo(); info.User = user; info.LogonTime = DateTime.Now; info.LastActivity = DateTime.Now; info.UID = Guid.NewGuid(); lock (authenticatedUsers) { authenticatedUsers.Add(info.UID, info); } return info; }
public void Logout() { LoginInfo.Logout(); }
public ActionResult LoginTeaser(LoginInfo loginInfo) { return(this.Login(loginInfo, redirectUrl => new RedirectResult(redirectUrl))); }
public GlobalVars() { loginInfo = new LoginInfo(); loginInfo.IsLoggedIn = false; }
/// <summary> /// Opens a dialog that allows users to log in. /// </summary> /// <remarks> /// If the user fails to log in, this method will reopen the login dialog /// with an error message. The done delegate is not called until the user /// either logs in successfully or clicks cancel. /// </remarks> /// <param name="done">Delegate that is invoked when the user logs in /// successfully.</param> /// <param name="inst">The instance that is being launched.</param> /// <param name="message">An error message to be displayed on the login dialog.</param> /// <param name="canplayOffline">True if the user can play this instance offline.</param> private void DoLogin(LoginCompleteHandler done, Instance inst, string message = "", bool canplayOffline = false) { string username = ""; string password = ""; ReadUserInfo(out username, out password); ILoginDialog loginDlg = GUIManager.Main.LoginDialog(message); loginDlg.Parent = (DirectLaunch ? null : MainWindow); loginDlg.DefaultPosition = DefWindowPosition.CenterParent; loginDlg.ShowInTaskbar = DirectLaunch; if (!string.IsNullOrEmpty(username)) { loginDlg.RememberUsername = true; loginDlg.Username = username; } if (!string.IsNullOrEmpty(password)) { loginDlg.RememberPassword = true; loginDlg.Password = password; } loginDlg.Response += (o, args) => { if (args.Response == DialogResponse.OK) { string parameters = string.Format( "user={0}&password={1}&version=1337", Uri.EscapeDataString(loginDlg.Username), Uri.EscapeDataString(loginDlg.Password), 13); WriteUserInfo((loginDlg.RememberUsername ? loginDlg.Username : ""), (loginDlg.RememberPassword ? loginDlg.Password : "")); // Start a new thread and post the login info to login.minecraft.net SimpleTask loginTask = new SimpleTask(() => { string reply = ""; bool postFailed = false; try { if (loggingIn) return; loggingIn = true; reply = AppUtils.ExecutePost("https://login.minecraft.net/", parameters); } catch (System.Net.WebException e) { postFailed = true; reply = e.Message; } finally { loggingIn = false; } // If the login failed if (!reply.Contains(":") || postFailed) { // Translate the error message to a more user friendly wording string errorMessage = reply; switch (reply.ToLower()) { case "bad login": errorMessage = "Invalid username or password."; break; case "old version": errorMessage = "Invalid launcher version."; break; default: errorMessage = "Login failed: " + reply; break; } // Unable to resolve hostname. if (reply.ToLower().Contains("name could not be resolved")) { errorMessage = string.Format( "Couldn't connect to login.minecraft.net, " + "please connect to the internet or use offline mode."); } // Error MainWindow.Invoke((sender, e) => DoLogin(done, inst, errorMessage)); } // If the login succeeded else { string[] responseValues = reply.Split(':'); // The response must have 4 values or it's invalid if (responseValues.Length != 4) { // Error MainWindow.Invoke((sender, e) => DoLogin(done, inst, "Got an invalid response from server", canplayOffline)); } // Now we can finally return our login info. else { LoginInfo info = new LoginInfo(responseValues, loginDlg.ForceUpdate); done(info, inst); } } }, "Logging in..."); if (!loggingIn) { MainWindow.Invoke((o2, args2) => StartModalTask(loginTask)); } } else if (args.Response == DialogResponse.No) { // Play offline done(new LoginInfo(null, false, false), inst); } else { // Login cancelled done(new LoginInfo(), inst); } }; loginDlg.Run(); }
public async Task <ActionResult> LoginConsumerAsync([FromBody] ConsumerAuthRequest req) { try { var secretKey = _configuration["SecurityKey"]; var device = req.Device; device.IsActive = true; string roomId = Guid.NewGuid().ToString(); var tokenInfo = new LoginInfo { DeviceId = device.Id, DeviceType = device.DeviceType }; var user = await _dbContext.Users .Where(u => u.Email == req.User.Email) .Include(u => u.Devices) .Include(u => u.Enrollments) .FirstOrDefaultAsync(); if (user != null) { // 방금 입력한 비밀번호로 로그인 되면 if (_userService.VerifyPasswordHash(req.User.Password, user.PasswordHash, user.PasswordSalt)) { // 이전 기기들 비활성화 foreach (var d in user.Devices.Where(d => d.Id != device.Id)) { d.IsActive = false; d.IsOn = false; } if (!user.Devices.Any(d => d.Id == device.Id)) { if (await _dbContext.Devices.FirstOrDefaultAsync(d => d.Id == device.Id) is Device deviceBelogsOther) { deviceBelogsOther.Owner = user; deviceBelogsOther.IsActive = true; deviceBelogsOther.IsOn = true; } else { user.Devices.Add(device); } } else { var userDevice = user.Devices.FirstOrDefault(d => d.Id == device.Id); userDevice.IsActive = true; userDevice.IsOn = true; } if (user.Enrollments.Any()) { roomId = user.Enrollments.First().RoomId; } else { var room = new Room { Name = user.Name, Id = roomId }; user.Enrollments.Add(new Enrollment { Room = room, EnrolledAt = DateTime.UtcNow }); } await _dbContext.SaveChangesAsync(); // 이미 허브에 접속해있는 기기에 퇴출 신호 var userProxy = _hubContext.Clients.User(user.Id.ToString()); await userProxy.SendAsync("NewLogin", device.Id); return(Ok(new ConsumerAuthResponse { RoomId = roomId, UserId = user.Id, UserName = user.Name, Token = user.JwtToken(tokenInfo, secretKey), Success = true, })); // TODO: App.Startup()에서 Device의 활성 상태 검증 // 비활성 기기면 재로그인 } else // Name, BirthDate, Sex, Email은 일치하지만 비번이 틀림 { return(Unauthorized(new ConsumerAuthResponse { Success = false, RequireLogin = true, ErrorMessage = "비밀번호가 틀렸습니다." })); } } else { return(BadRequest(new ConsumerAuthResponse { Success = false, ErrorMessage = $"입력한 이메일({req.User.Email})이 등록되어있지 않습니다." })); } } catch (Exception ex) { _logger.LogError(ex.Message, "Consumer Login Throws", req); return(StatusCode(500, new ConsumerAuthResponse { Success = false, ErrorMessage = $"서버에서 에러가 일어났습니다." })); } }
/// <summary> /// Get Login Information for the player /// </summary> /// /// <returns>Login information for the player</returns> /// public LoginInfoDTO GetLoginInformation() { Dictionary<string, string> CMPDetails = playerInformationDataAccess.GetCMPCredentials(CommonDataAccess.ExchangeConnectionString); loginInfo = new LoginInfo(); loginInfo.ComputerName = Environment.MachineName; loginInfo.GamingDate = new DateTime(2001,01,01,0,0,0); loginInfo.LocationCode = null; loginInfo.Password = CMPDetails["CMPPWD"]; loginInfo.Shift = 1; loginInfo.UserName = CMPDetails["CMPUSER"]; if (CMPDetails.Count > 0) { kioskService = new KioskService(CMPDetails["CMPURL"].ToString()); } serviceResult = kioskService.EmployeeLogin(loginInfo); if (MethodResult.Success == serviceResult.Result) { loginInfo.LocationCode = serviceResult.Data[0].ToString(); DateTime gamingdate = DateTime.Today; if (true == DateTime.TryParse(serviceResult.Data[1].ToString(), out gamingdate)) loginInfo.GamingDate = gamingdate; else loginInfo.GamingDate = DateTime.Today; loginInfo.Shift = int.Parse(serviceResult.Data[2].ToString()); } List<LoginInfoDTO> LoginInfoList = new List<LoginInfoDTO>(); LoginInfoDTO loginInfoDTO = new LoginInfoDTO(); loginInfoDTO.ComputerName = loginInfo.ComputerName; loginInfoDTO.GamingDate = loginInfo.GamingDate; loginInfoDTO.LocationCode = loginInfo.LocationCode; loginInfoDTO.Password = loginInfo.Password; loginInfoDTO.Shift = loginInfo.Shift; loginInfoDTO.UserName = loginInfo.UserName; return loginInfoDTO; }
public async Task <ActionResult> RegisterConsumerAsync([FromBody] ConsumerAuthRequest req) { try { var secretKey = _configuration["SecurityKey"]; var device = req.Device; device.IsActive = true; string roomId = Guid.NewGuid().ToString(); var tokenInfo = new LoginInfo { DeviceId = device.Id, DeviceType = device.DeviceType }; var user = await _dbContext.Users .Where(u => u.Name == req.User.Name) .Where(u => u.BirthDate.Date == req.User.BirthDate.Date) .Where(u => u.Gender == req.User.Gender) .Where(u => u.Email == req.User.Email) .Include(u => u.Devices) .Include(u => u.Enrollments) .FirstOrDefaultAsync(); if (user != null) // user already exists... { // 방금 입력한 비밀번호로 로그인 되면 if (_userService.VerifyPasswordHash(req.User.Password, user.PasswordHash, user.PasswordSalt)) { // 이전 기기들 비활성화 foreach (var d in user.Devices) { d.IsActive = false; } if (!user.Devices.Any(d => d.Id == device.Id)) { if (await _dbContext.Devices.FirstOrDefaultAsync(d => d.Id == device.Id) is Device deviceBelogsOther) { deviceBelogsOther.Owner = user; deviceBelogsOther.IsActive = true; deviceBelogsOther.IsOn = true; } else { user.Devices.Add(device); } } else { var userDevice = user.Devices.FirstOrDefault(d => d.Id == device.Id); userDevice.IsActive = true; userDevice.IsOn = true; } if (user.Enrollments.Any()) { roomId = user.Enrollments.First().RoomId; } else { var room = new Room { Name = user.Name, Id = roomId }; user.Enrollments.Add(new Enrollment { Room = room, EnrolledAt = DateTime.UtcNow }); } await _dbContext.SaveChangesAsync(); // 이미 허브에 접속해있는 기기에 퇴출 신호 var userProxy = _hubContext.Clients.User(user.Id.ToString()); await userProxy.SendAsync("NewLogin", device.Id); return(Ok(new ConsumerAuthResponse { RoomId = roomId, UserId = user.Id, UserName = user.Name, Success = true, IsAlreadyRegistered = true, Token = user.JwtToken(tokenInfo, secretKey) }));; // TODO: App.Startup()에서 Device의 활성 상태 검증 // 비활성 기기면 재로그인 } else // Name, BirthDate, Sex, Email은 일치하지만 비번이 틀림 { // TODO: 비밀번호 재입력 및 재설정 안내 // 신모법님은 링거에 가입되어 있지만 비밀번호가 틀렸습니다. 정확한 비밀번호를 입력하세요. // 여기를 누르면 계정이메일([email protected])으로 비밀번호 재설정 링크를 발송합니다. // [email protected]으로 비밀번호 재설정 링크를 발송했습니다. return(Unauthorized(new ConsumerAuthResponse { Success = false, RequireLogin = true }));; } } else { var createdUser = await _userService.CreateAsync(req.User, req.User.Password); user = await _dbContext.Users .Include(u => u.Devices) .Include(u => u.Enrollments) .FirstOrDefaultAsync(u => u.Id == createdUser.Id); // add device user.Devices.Add(device); // add enrollment / room var room = new Room { Id = roomId, Name = user.Name }; user.Enrollments.Add(new Enrollment { Room = room, EnrolledAt = DateTime.UtcNow }); await _dbContext.SaveChangesAsync(); return(Ok(new ConsumerAuthResponse { RoomId = room.Id, UserId = user.Id, UserName = user.Name, Success = true, Token = user.JwtToken(tokenInfo, secretKey) })); } } catch (Exception ex) { _logger.LogError(ex.Message, "Consumer Registration Throws", req); return(StatusCode(500)); } }