天天看點

機房重構 權限判斷

前言

機房基本上算是完成了,總的來說開始做起來很困難,到後期就感覺還算比較順暢了,總結起來就對資料庫的操作,增删改查.隻要是掌握了這個就算是完成的差不多了.

今天就給大家簡單的介紹一下我做的機房系統的權限判斷登入.大家都知道,由于不同的權限界面也會有不一樣的地方,就是因為這個原因所已才做了權限判斷的功能.

正文

首先,要想判斷權限就要給不同的使用者賦予不一樣的權限.在這我将使用者分為三種

第一種是擁有最高權限的管理者

第二種是擁有比普通使用者權限高一點的操作使用者

第三種就是使用者量最大的一般使用者

先說注冊,本套軟體系統中最開始就有擁有一個最高權限的管理者admin使用者,這個使用者擁有最高權限可以賦予不同使用者的不同權限.

先來了解一下不同使用者的不同界面設定.

管理者使用者

機房重構 權限判斷

操作員使用者

機房重構 權限判斷

一般使用者的界面

機房重構 權限判斷

通過上邊的界面對比也能看出來,都是不同權限的使用者.下邊就說一下代碼部分

代碼實作

Facade.LoginFacade Facade = new Facade.LoginFacade();
                Entity.UserInfo user = new Entity.UserInfo();
                name = txtUserID.Text;//name指派在主視窗顯示
                user.UserID = txtUserID.Text.Trim();
                user.PassWord =txtPassWord.Text;
                DataTable table = Facade.LoginInfo(user);
                string userid = table.Rows[0]["UserID"].ToString().Trim();
                string password = table.Rows[0]["PassWord"].ToString().Trim();
                string authority = table.Rows[0]["Authority"].ToString().Trim();
                if (userid!=txtUserID.Text | password !=txtPassWord.Text )
                {
                    lblPrompt.Text = "密碼或使用者名錯誤";
                }
                else
                {
                    switch (authority)
                    {
                        case "管理者":
                            userConsumptionAmount = 0;//登入後先給消費資訊指派為零
                            this.Hide();
                            this.DialogResult = System.Windows.Forms.DialogResult.OK;
                            FrmMainAdmin frmMain = new FrmMainAdmin();//化主窗體
                            frmMain.Show();//顯示執行個體化的主窗體
                            break;
                        case "操作員":
                            userConsumptionAmount = 0;
                            this.Hide();
                            this.DialogResult = System.Windows.Forms.DialogResult.OK;
                            FrmMainOperator frmMainoperator = new FrmMainOperator();
                            frmMainoperator.Show();

                            break;
                        case "一般使用者":
                            userConsumptionAmount = 0;
                            this.Hide();
                            this.DialogResult = System.Windows.Forms.DialogResult.OK;
                            FrmMainGeneral frmMaingeneral = new FrmMainGeneral();
                            frmMaingeneral.Show();
                            break;
                    }

                }      

代碼部分中的重點核心就是switch … case 來選擇不同的使用者

結尾