Form login database


                Login database adalah hal yang wajib dilakukan untuk pembuatan aplikasi berbasis database. Hal ini menjadi penting karena login tersebut adalah pintu gerbang masuk ke dalam database server. Akan tetapi hal ini tidak bisa dilakukan secara sembarangan dan terbuka untuk menghindari penyalahgunaan akses ke database server.  
Untuk itu kita harus membuat sebuah login database yang benar dan aman. Kita akan membuat login database yang melakukan percobaan koneksi dengan database server dan mencatat data-data pentingnya ke dalam suatu file yang kita sembunyikan di suatu tempat di dalam hard disk kita.

This is it form login
1.       Membuat class connect di commonclass.
Class connect dibuat hanya untuk menyimpan data database server saja. Class connect kita tempatkan di class commonclass.

public class Connect
    {
        public string Server { get; set; }
        public string UserName { get; set; }
        public string Password { get; set; }
    }


2.       Membuat fungsi read, write dan konek server pada class core engine.
Class core engine ini adalah clas di mana kita menempatkan semua fungsi dan prosedur yang sering kita pakai agar tidak kita buat dan panggil berulang-ulang di tempat yang berbeda.
INIFile ini = new INIFile(Environment.GetFolderPath(Environment.SpecialFolder.ApplicationData) + "\\new-inventaris.ini");
        private Connect con = new Connect();

        public Connect readSever()
        {
            // read server,username and password database server form file ini.
            string server = ini.IniReadValue("Setting", "Server");
            string user = ini.IniReadValue("Setting", "UserName");
            string pass = ini.IniReadValue("Setting", "Password");

            if (server != "" && user != "" && pass != "")
            {
                con.Server = Encoding.Unicode.GetString(Convert.FromBase64String(server));
                con.UserName = Encoding.Unicode.GetString(Convert.FromBase64String(user));
                con.Password = Encoding.Unicode.GetString(Convert.FromBase64String(pass));
                return con;
            }
            else
            {
                MessageBox.Show("Server not specified.");
                return con;
            }
        }

        public void writeServer(string Server, string UserName, string password)
        {
            // write server,username and password to file ini.
            ini.IniWriteValue("Setting", "Server", Convert.ToBase64String(Encoding.Unicode.GetBytes(Server)).ToString());
            ini.IniWriteValue("Setting", "UserName", Convert.ToBase64String(Encoding.Unicode.GetBytes(UserName)));
            ini.IniWriteValue("Setting", "Password", Convert.ToBase64String(Encoding.Unicode.GetBytes(password)));
            Console.WriteLine("lala lila ; "+ Convert.ToBase64String(Encoding.Unicode.GetBytes(Server)));
        }

        public string konek(string text)
        {
            // test connection to database server
            MySqlConnection db = new MySqlConnection(text);
            try
            {
                db.Open();
                return "a";
            }
            catch (Exception e)
            {
                return e.Message;
            }
        }
3.       Membuat tampilan form login database server



4.       Membuat coding agar form ini dapat membentuk koneksi ke server dan mencatatkannya di suatu file.
CoreEngine CE = new CoreEngine();
        public FrmSever()
        {
            InitializeComponent();
           
            // request server information and write in textbox
            Connect con = CE.readSever();
            TxtServer.Text = con.Server;
            TxtUser.Text = con.UserName;
            TxtPass.Text = con.Password;
        }

        private void button1_Click(object sender, EventArgs e)
        {
            // try to connect database server
            string con="server=" + TxtServer.Text + ";database=new-inventaris;  uid="+ TxtUser.Text +";password="+ TxtPass.Text +";";
            string trycon = CE.konek(con);
            if (trycon == "a")
            {
                MessageBox.Show("Database Connected.");
                CE.writeServer(TxtServer.Text, TxtUser.Text, TxtPass.Text);
                this.Close();
            }
            else
            {
                MessageBox.Show(trycon);
            }
        }

File hasil seperti ini :

Comments

Popular posts from this blog

Flowchart Penjualan Grosir / Eceran

Flowchart Proses Pembelian Barang