/// <summary> /// 创建新的用户Session /// </summary> /// <param name="userID"></param> /// <param name="ip"></param> /// <param name="mac"></param> /// <param name="stateEvent"></param> /// <param name="sessionEvent">触发创建的事件类型</param> /// <returns></returns> public UserSession CreateSession(string userID, string ip, string mac, LoginTypeEnum authType, UserSessionEventEnum sessionEvent) { UserSession session = new UserSession(userID); session.LogonInfo.IP = ip; session.LogonInfo.MAC = mac; session.LogonInfo.AuthType = authType; session.SessionEvent = sessionEvent; try { lock (_sessions) { _sessions.Add(session.SessionID, session); } } catch (Exception) { } /*--写事件日志开始--*/ SysEvent evt = new SysEvent(); evt.UserID = session.User.UserID; evt.LoginName = session.User.LoginName; evt.IP = session.LogonInfo.IP; evt.Record = String.Format("CreateSession({0}, {1}, {2}, {3})", userID, ip, authType.ToString(), sessionEvent.ToString()); evt.DoCreate(); /*--写事件日志结束--*/ return(session); }
public UserData FindUserByFacebookUserId(LoginTypeEnum authenticationType, string userId) { var users = _mongoDb.GetCollection <UserData>("users").AsQueryable().ToList(); var user = users.FirstOrDefault(x => x.UserId == userId); return(user); }
/// <summary> /// 设置预登出 /// </summary> /// <param name="logMode">登出模式</param> /// <param name="sessionID"></param> public void SetPrepRelease(string sessionID, LoginTypeEnum logMode) { UserSession userSession = _sessions[sessionID]; if (userSession != null) { userSession.SessionEvent = UserSessionEventEnum.PrepTimeout; } }
public HttpResponseMessage Register(string uName, string uPwd, string rePwd, LoginTypeEnum loginType = LoginTypeEnum.None) { return(base.WrapperTransaction((userId) => this._userLoginInSideService.Register(new UserLoginInSide { LoginType = (byte)loginType, LoginName = uName, LoginPwd = uPwd }, rePwd))); }
/// <summary> /// 设置预释放(包含登录模式) /// </summary> /// <param name="sessionID"></param> public bool SetPrepRelease(string sessionID, LoginTypeEnum logMode) { try { Server.SetPrepRelease(sessionID, logMode); return(true); } catch (Exception ex) { return(false); } }
public Member(string workerId, string workerPwd, string roleCode, string roleName, LoginTypeEnum loginType, string[] rolePermission, string workerName, string assistantID, string lastIp, string currentIp) { WorkerID = workerId; WorkerPwd = workerPwd; Role_Code = roleCode; Role_Name = roleName; LoginType = loginType; MenuArray = rolePermission; WorkerName = workerName; AssistantID = assistantID; LastIp = lastIp; CurrentIp = currentIp; }
/// <summary> /// 创建新的用户Session /// </summary> /// <param name="userID"></param> /// <param name="ip"></param> /// <param name="mac"></param> /// <param name="stateEvent"></param> /// <returns></returns> public UserSession CreateSession(string userID, string ip, string mac, LoginTypeEnum authType) { UserSession[] orgSession = _sessions.Values.Where(s => s.User.UserID == userID).ToArray(); UserSession session; if (orgSession.Count() <= 0) { session = new UserSession(userID); session.LogonInfo.IP = ip; session.LogonInfo.MAC = mac; session.LogonInfo.AuthType = authType; if (authType == LoginTypeEnum.PCIE || authType == LoginTypeEnum.PCClient) { session.SessionEvent = UserSessionEventEnum.Login; } try { lock (_sessions) { _sessions.Add(session.SessionID, session); } } catch (Exception) { } } else { session = orgSession[0]; session.RefreshState(); } /*--写事件日志开始--*/ SysEvent evt = new SysEvent(); evt.UserID = session.User.UserID; evt.LoginName = session.User.LoginName; evt.IP = session.LogonInfo.IP; evt.Record = String.Format("CreateSession({0}, {1}, {2}, {3})", userID, ip, mac, authType.ToString()); evt.DoCreate(); /*--写事件日志结束--*/ return(session); }
/// <summary> /// Посылаем при нажатии кнопки "Вход через..." или "Вход" для стендэлон /// </summary> /// <param name="loginType"></param> /// <param name="login"></param> /// <param name="pass"></param> public void SendAuth(LoginTypeEnum loginType, string login = "", string pass = "") { var request = new NetRequest(PacketTypes.auth); request.AddParam("auth_type", loginType.ToString()); switch (loginType) { case LoginTypeEnum.stand_alone: request.AddParam("login", login); request.AddParam("pass", pass); break; case LoginTypeEnum.vk: break; default: break; } SendRequest(request); }
//新加 2014-09-19,使用现在的方法,原来的留着 public Member(string workerId, string workerPwd, string roleCode, string roleName, LoginTypeEnum loginType, string[] rolePermission, string parent_WorkerID, string parent_kf, string workerCode, string workerName, string assistantID, string lastIp, string currentIp, string moPhone, byte isSMSLogin) { WorkerID = workerId; WorkerPwd = workerPwd; Role_Code = roleCode; Role_Name = roleName; LoginType = loginType; MenuArray = rolePermission; Parent_kf = parent_kf; WorkerCode = workerCode; Parent_WorkerID = parent_WorkerID; WorkerName = workerName; AssistantID = assistantID; LastIp = lastIp; CurrentIp = currentIp; MoPhone = moPhone; IsSMSLogin = isSMSLogin; }
public HttpResponseMessage Login(string openId, LoginTypeEnum loginType = LoginTypeEnum.None) { return(base.WrapperTransaction((userId) => { var result = this._userLoginOutSideService.Login(loginType, openId); var data = new Result <ViewUserData> { Code = result.Code, Msg = result.Msg, Data = result.Code == ResultEnum.Error? null: new ViewUserData() { token = base.GetToken(result.Data), liveurl = "http://www.xxx.com/room/" + result.Data, playurl = "http://www.xxx.com/" + result.Data } }; return data; })); }
public void Authenticate(LoginTypeEnum type) { var account = AccountStore.Create().FindAccountsForService(Constants.AppName).FirstOrDefault(); if (account != null) { return; } switch (type) { case LoginTypeEnum.Facebook: FacebookAuth(); break; case LoginTypeEnum.Twitter: TwitterAuth(); break; case LoginTypeEnum.Instagram: InstagramAuth(); break; case LoginTypeEnum.Google: GoogleAuth(); break; default: break; } Authenticator.Completed += Authenticator_Completed; Authenticator.Error += Authenticator_Error; var presenter = new Xamarin.Auth.Presenters.OAuthLoginPresenter(); presenter.Login(Authenticator); }
public FlyBirdIdentity(LoginTypeEnum authType, bool isAuth, string name) { this._AuthenticationType = authType.ToString(); this._IsAuthenticated = isAuth; this._Name = name; }
public UserLogonInfo(SysUser user) { this.user = user; AuthType = LoginTypeEnum.Unknown; }
public async Task <LoginResponse> Login(LoginTypeEnum loginType, string userId, string accessToken, bool login = true) { HttpClient client = new HttpClient(); var me = new LoginResponse(); if (loginType == LoginTypeEnum.Google) { #region Google authentication if (login) { var googleTokenUrl = "https://www.googleapis.com/oauth2/v3/tokeninfo?id_token="; var googleUri = new Uri(googleTokenUrl + accessToken); var responseGoogleToken = await client.GetAsync(googleUri); if (responseGoogleToken.IsSuccessStatusCode) { string contentTOKEN = await responseGoogleToken.Content.ReadAsStringAsync(); dynamic tokenObjGoogle = (JObject)Newtonsoft.Json.JsonConvert.DeserializeObject(contentTOKEN); me.Id = tokenObjGoogle["sub"]; me.Email = tokenObjGoogle["email"]; me.Name = tokenObjGoogle["name"]; me.IsVerified = true; me.AuthenticationType = LoginTypeEnum.Google; me.Role = "User"; me.Token = Guid.NewGuid().ToString(); var user = _userRepository.FindOrCreateUser(me); me.Role = user.Role; me.Token = user.Token; return(me); } } else { var user = _userRepository.FindUserByToken(accessToken); if (user != null && user.AuthenticationType == LoginTypeEnum.Google) { me.Id = user.UserId; me.Email = user.Email; me.Name = user.Name; me.IsVerified = true; me.AuthenticationType = user.AuthenticationType; me.Role = user.Role; me.Token = user.Token; return(me); } else { return(null); } } return(null); #endregion } else { #region Facebook if (login) { string verifyTokenEndPoint = string.Format("https://graph.facebook.com/me?access_token={0}&fields=email,name", accessToken); string verifyAppEndpoint = string.Format("https://graph.facebook.com/app?access_token={0}", accessToken); Uri uri = new Uri(verifyTokenEndPoint); HttpResponseMessage response = await client.GetAsync(uri); if (response.IsSuccessStatusCode) { string content = await response.Content.ReadAsStringAsync(); dynamic userObj = (Newtonsoft.Json.Linq.JObject)Newtonsoft.Json.JsonConvert.DeserializeObject(content); uri = new Uri(verifyAppEndpoint); response = await client.GetAsync(uri); content = await response.Content.ReadAsStringAsync(); dynamic appObj = (Newtonsoft.Json.Linq.JObject)Newtonsoft.Json.JsonConvert.DeserializeObject(content); me.Id = userObj["id"]; me.Email = userObj["email"]; me.Name = userObj["name"]; me.IsVerified = true; me.AuthenticationType = LoginTypeEnum.Facebook; me.Role = "User"; me.Token = Guid.NewGuid().ToString(); var userData = _userRepository.FindOrCreateUser(me); me.Role = userData.Role; me.Token = userData.Token; return(me); } return(null); } else { var user = _userRepository.FindUserByToken(accessToken); if (user != null && user.AuthenticationType == LoginTypeEnum.Facebook) { me.Role = user.Role; me.Token = user.Token; return(me); } else { return(null); } } #endregion } }
/// <summary> /// 第三方用户登录,如不存在,新建用户 /// </summary> public Result <int> Login(LoginTypeEnum loginType, string openId) { var result = new Result <int>(); #region check params if (string.IsNullOrEmpty(openId)) { result.Msg = "OpenId不能为空"; return(result); } if (loginType == LoginTypeEnum.None) { result.Msg = "登录类型无效"; return(result); } #endregion var now = DateTime.Now; var loginModel = base.CurrentRepository.Get(m => m.LoginType == (int)loginType && m.OpenId == openId).FirstOrDefault(); if (loginModel != null) { var userInfo = this._userBaseInfoService.Get(m => m.LoginId == loginModel.ID).FirstOrDefault(); if (userInfo == null) { result.Msg = "用户基础信息无效"; return(result); } loginModel.LastLoginTime = now; base.CurrentRepository.Update(loginModel); result.Data = userInfo.ID; } else { #region 插入新的用户 var iRet1 = base.CurrentRepository.Add(new UserLoginOutSide { LoginType = (byte)loginType, OpenId = openId, LastLoginTime = now, InsertTime = now, UpdateTime = now }); if (iRet1.ID <= 0) { result.Msg = "注册失败1"; return(result); } var iRet2 = this._userBaseInfoService.Add(new UserBase() { LoginId = iRet1.ID, UserNumber = string.Format(Const.UserNumber, LoginTypeEnum.M, iRet1.ID.ToString().PadLeft(7, '0')), NickName = "我是呆萌贱", UserLevel = 0, Fans = 0, InsertTime = now, UpdateTime = now }); if (iRet2.Code == ResultEnum.Error || iRet2.Data.ID <= 0) { result.Msg = "注册失败2"; return(result); } var iRet3 = this._userAccountService.Add(new UserAccount() { UserId = iRet2.Data.ID, Gold = 0, Contribution = 0, Profit = 0, InsertTime = now, UpdateTime = now }); if (iRet3.Code == ResultEnum.Error || iRet3.Data.UserId <= 0) { result.Msg = "注册失败3"; return(result); } result.Data = iRet2.Data.ID; #endregion } result.Code = ResultEnum.Success; return(result); }