Пример #1
0
        private static bool checkPrivilegeToAccessForm(string form)
        {
            AuthenService          authenService = new AuthenService();
            UserPrivilegeDataTable upTable       = null;

            if (authenService.IsAuthenticated())
            {
                AuthenticatedEntity authenData = (AuthenticatedEntity)StaticDataFacade.Get(StaticDataKeys.AuthenticatedData);
                upTable = authenData.UserPrivilegeTable;
            }

            if (!authenService.CanAccess(form, upTable))
            {
                if (!authenService.IsAuthenticated())
                {
                    ShowDialog(AppForms.FormLogin);
                }
                else
                {
                    MessageBox.Show("Bạn không thể truy cập vào phần này.", "Thiếu quyền truy cập",
                                    MessageBoxButtons.OK, MessageBoxIcon.Stop);
                }

                return(false);
            }

            return(true);
        }
Пример #2
0
        public bool CanAccess(String formKey, UserPrivilegeDataTable table)
        {
            if (!FormPrivilegeConstant.FormKeyToPrivilegeId.ContainsKey(formKey))
            {
                return(true);
            }

            int privilegeId = FormPrivilegeConstant.FormKeyToPrivilegeId[formKey];

            return(CanAccess(privilegeId, table));
        }
Пример #3
0
        private static List <int> getUserPrivilegeIds(object userIdObj)
        {
            int                       userId                    = (int)userIdObj;
            AuthenService             authenService             = new AuthenService();
            UserPrivilegeTableAdapter userPrivilegeTableAdapter = (UserPrivilegeTableAdapter)StaticDataFacade.Get(StaticDataKeys.AdapterUserPrivilege);
            UserPrivilegeDataTable    userPrivilegeDataTable    = authenService.LoadUserPrivileges(userPrivilegeTableAdapter, userId);
            List <int>                privilegeIds              = new List <int>();

            foreach (UserPrivilegeRow row in userPrivilegeDataTable)
            {
                privilegeIds.Add(row.PrivilegeId);
            }

            return(privilegeIds);
        }
Пример #4
0
        public bool CanAccess(int privilegeId, UserPrivilegeDataTable table)
        {
            bool canAccess = false;

            if (table != null)
            {
                UserPrivilegeRow[] rows = table.Select(String.Format("PrivilegeId={0}", privilegeId)) as UserPrivilegeRow[];

                if (!ArrayUtil.IsEmpty(rows))
                {
                    canAccess = rows[0].Value;
                }
            }

            return(canAccess);
        }
Пример #5
0
        private void btnLogin_Click(object sender, EventArgs e)
        {
            AuthenService authenService = new AuthenService();
            string        username      = txtUsername.Text;
            string        password      = PasswordUtil.GetMd5Hash(txtPassword.Text);
            UserDataTable userDataTable = authenService.GetUsersForLogin(this.userTableAdapter, username, password);

            if (userDataTable.Count == 0)
            {
                MessageBox.Show("Tên đăng nhập hoặc Mật khẩu không đúng. Xin vui lòng thử lại.", "Lỗi đăng nhập",
                                MessageBoxButtons.OK, MessageBoxIcon.Error);
            }
            else
            {
                UserPrivilegeDataTable upTable = authenService.LoadUserPrivileges(this.userPrivilegeTableAdapter, userDataTable[0].UserId);
                authenService.SetAuthenticatedUser(userDataTable[0], upTable);
                this.Close();

                showCurrentForm();
            }
        }
Пример #6
0
 public void SetAuthenticatedUser(UserRow user, UserPrivilegeDataTable table)
 {
     StaticDataFacade.Remove(StaticDataKeys.AuthenticatedData);
     StaticDataFacade.Add(StaticDataKeys.AuthenticatedData, new AuthenticatedEntity(user, table));
 }
Пример #7
0
 public AuthenticatedEntity(UserRow user, UserPrivilegeDataTable table)
 {
     this.User = user;
     this.UserPrivilegeTable = table;
 }