Example #1
0
        private SqlConnection _getSecondaryConnectionByMd5(string pMd5)
        {
            if (account_table.Contains(pMd5))
            {
                UserRemotingContext userContext = (UserRemotingContext)account_table[pMd5];
                userContext.Token.dcr_timeout();

                if (userContext.SecondaryConnection.State != ConnectionState.Open)
                {
                    userContext.SecondaryConnection.Open();
                }

                return(userContext.SecondaryConnection);
            }
            return(null);
        }
Example #2
0
        public string GetAuthentification(string pOctoLogin, string pOctoPass, string pOctoAccount, string pComputerName, string pLoginName)
        {
            Log.RemotingServiceLogger.DebugFormat("Call of get_authentification with login : {0}, pass : {1}, account : {2}", pOctoLogin, pOctoPass, pOctoAccount);
            Log.RemotingServiceLogger.DebugFormat(" login : {0}, pass : {1}, server : {2}", RemoteServerSettings.GetSettings().LoginName, RemoteServerSettings.GetSettings().Password, RemoteServerSettings.GetSettings().ServerName);

            string md5String = "";
            Token token = _getTokenByAccountName(pOctoAccount);
            UserRemotingContext connectionManager = new UserRemotingContext();

            if (_checkAccount(token, pOctoLogin, pOctoPass) == false)
            {
                // Throw exeption
                // FIXME
                Log.RemotingServiceLogger.Error("Les User/Pass octo donn�e ne sont pas valide");
                throw new Exception("messageBoxUserPasswordIncorrect.Text");
            }

            // Generate the md5
            DateTime date = DateTime.Now;

            string ToHash = token.get_unique_string();
            ToHash += "|" + date.Minute;

            byte[] data = new byte[ToHash.Length];
            Encoder enc = Encoding.ASCII.GetEncoder();
            enc.GetBytes(ToHash.ToCharArray(), 0, ToHash.Length, data, 0, true);
            MD5 md5 = new MD5CryptoServiceProvider();
            byte[] result = md5.ComputeHash(data);
            md5String = BitConverter.ToString(result).Replace("-", "").ToLower();

            string connectionString = "user id=" + token.Login + ";password="******";server=" +
                                      RemoteServerSettings.GetSettings().ServerName + ";initial catalog=" + token.Account;
            Log.RemotingServiceLogger.DebugFormat("Connection String {0}", connectionString);
            SqlConnection connection = new SqlConnection(connectionString);
            SqlConnection secondaryConnection = new SqlConnection(connectionString);

            connectionManager.Token = token;
            connectionManager.Connection = connection;
            connectionManager.SecondaryConnection = secondaryConnection;

            if (account_table.Contains(md5String) == false)
            {
                Log.RemotingServiceLogger.DebugFormat("The account Dictionary doesnt contain this md5 : {0}", md5String);
                account_table[md5String] = connectionManager;
            }

            // Set the connection in the connectionManager
            Log.RemotingServiceLogger.DebugFormat("ConnectionString: {0}", connection.ConnectionString);
            this.SetConnection(connection);
            //OpenCBS.DatabaseConnection.ConnectionManager.GetInstance().SetConnection(connection);

            Log.RemotingServiceUsersLogger.InfoFormat(@"[CONNECTION {3}\{4}] Users, branch name:{0} login:{1}, connected \n \t Connection string :{2}", pOctoAccount, pOctoLogin, connectionString, pComputerName, pLoginName);
            Log.RemotingServiceLogger.InfoFormat(@"[CONNECTION {3}\{4}] Users, branch name:{0} login:{1}, connected \n \t Connection string :{2}", pOctoAccount, pOctoLogin, connectionString, pComputerName, pLoginName);

            return md5String;
        }
Example #3
0
        public string GetAuthentification(string pOctoLogin, string pOctoPass, string pOctoAccount, string pComputerName, string pLoginName)
        {
            Log.RemotingServiceLogger.DebugFormat("Call of get_authentification with login : {0}, pass : {1}, account : {2}", pOctoLogin, pOctoPass, pOctoAccount);
            Log.RemotingServiceLogger.DebugFormat(" login : {0}, pass : {1}, server : {2}", RemoteServerSettings.GetSettings().LoginName, RemoteServerSettings.GetSettings().Password, RemoteServerSettings.GetSettings().ServerName);

            string md5String = "";
            Token  token     = _getTokenByAccountName(pOctoAccount);
            UserRemotingContext connectionManager = new UserRemotingContext();

            if (_checkAccount(token, pOctoLogin, pOctoPass) == false)
            {
                // Throw exeption
                // FIXME
                Log.RemotingServiceLogger.Error("Les User/Pass octo donn�e ne sont pas valide");
                throw new Exception("messageBoxUserPasswordIncorrect.Text");
            }

            // Generate the md5
            DateTime date = DateTime.Now;

            string ToHash = token.get_unique_string();

            ToHash += "|" + date.Minute;

            byte[]  data = new byte[ToHash.Length];
            Encoder enc  = Encoding.ASCII.GetEncoder();

            enc.GetBytes(ToHash.ToCharArray(), 0, ToHash.Length, data, 0, true);
            MD5 md5 = new MD5CryptoServiceProvider();

            byte[] result = md5.ComputeHash(data);
            md5String = BitConverter.ToString(result).Replace("-", "").ToLower();


            string connectionString = "user id=" + token.Login + ";password="******";server=" +
                                      RemoteServerSettings.GetSettings().ServerName + ";initial catalog=" + token.Account;

            Log.RemotingServiceLogger.DebugFormat("Connection String {0}", connectionString);
            SqlConnection connection          = new SqlConnection(connectionString);
            SqlConnection secondaryConnection = new SqlConnection(connectionString);

            connectionManager.Token               = token;
            connectionManager.Connection          = connection;
            connectionManager.SecondaryConnection = secondaryConnection;

            if (account_table.Contains(md5String) == false)
            {
                Log.RemotingServiceLogger.DebugFormat("The account Dictionary doesnt contain this md5 : {0}", md5String);
                account_table[md5String] = connectionManager;
            }

            // Set the connection in the connectionManager
            Log.RemotingServiceLogger.DebugFormat("ConnectionString: {0}", connection.ConnectionString);
            this.SetConnection(connection);
            //OpenCBS.DatabaseConnection.ConnectionManager.GetInstance().SetConnection(connection);

            Log.RemotingServiceUsersLogger.InfoFormat(@"[CONNECTION {3}\{4}] Users, branch name:{0} login:{1}, connected \n \t Connection string :{2}", pOctoAccount, pOctoLogin, connectionString, pComputerName, pLoginName);
            Log.RemotingServiceLogger.InfoFormat(@"[CONNECTION {3}\{4}] Users, branch name:{0} login:{1}, connected \n \t Connection string :{2}", pOctoAccount, pOctoLogin, connectionString, pComputerName, pLoginName);

            return(md5String);
        }