public void OnAuthUser(object sender, AuthUser_EventArgs e) { LogHelper.InfoLog(string.Format("{0} clinet count:{1}", IPAddress.Parse(((IPEndPoint)e.Session.RemoteEndPoint).Address.ToString()), m_pServer.ClientCount)); string[] user = e.UserName.Split('|'); if (user.Length < 2) { LogHelper.InfoLog(string.Format("User's format error,user:{0};", e.UserName)); e.Validated = false; return; } OtherDirFileInfo ofi = new OtherDirFileInfo(); ofi.UserName = user[0]; ofi.TenantID = user[1]; ofi.Password = e.PasswData; Parameters par = Parameters.Instance(); string result = Common.SendSSLMsg(par.SftpParam.AuthenticateServerHost, par.SftpParam.AuthenticateServerPort, CreateAuthMsg(ofi)); string[] strings; if (ReturnAuthAnalyze(result, out strings, true)) { LogHelper.InfoLog(string.Format("login successed,user:{0};", e.UserName)); e.Validated = true; } else { LogHelper.InfoLog(string.Format("Authentication Failed,user:{0},pwd:***;", e.UserName)); LogHelper.DebugLog(string.Format("Authentication server info:{0},{1},pwd:{2};", par.SftpParam.AuthenticateServerHost, par.SftpParam.AuthenticateServerPort, e.PasswData)); e.Validated = false; } }
/// <summary> /// Authenticates user. /// </summary> /// <param name="session">Reference to current Pop33 session.</param> /// <param name="userName">User name.</param> /// <param name="passwData"></param> /// <param name="data"></param> /// <param name="authType"></param> /// <returns></returns> internal virtual bool OnAuthUser(FTP_Session session,string userName,string passwData,string data,AuthType authType) { AuthUser_EventArgs oArg = new AuthUser_EventArgs(session,userName,passwData,data,authType); if(this.AuthUser != null){ this.AuthUser(this,oArg); } return oArg.Validated; }