Thiết kế bảng dữ liệu phục vụ bảo mật

Một phần của tài liệu Nguyễn Thị Hường-HTTT15-Xay-dung-phan-mem-timesheet-NguyenHoaiAnh-Chinhsuacuoi (1) (Trang 44 - 47)

- Dựa vào cơ cấu tổ chức và phân công trách nhiệm, BFD nghiệp vụ --> trong hệ thống ta sẽ chia người dùng thành các nhóm sau :

+ nhóm 1 : Nhóm quản trị : Đây là nhóm quản lý và kiểm soát toàn bộ hệ thống bao gồm việc tạo tài khoản, cấp quyền truy cập cho các bộ phận khác trong hệ thống. Mỗi bộ phận khác trong hệ thống sẽ được quyền đăng nhập, và sử dụng chức năng thuộc vai trò của mỗi bộ phận.

+ nhóm 2 :Nhóm quản lý nhân sự + nhóm 3 : Nhóm quản lý dự án + nhóm 4 : Nhóm nhân viên

- Để sử dụng được hệ thống, người dùng cần phải có mật khẩu và tên đăng nhập. Dựa vào mật khẩu và tên đăng nhập, hệ thống sẽ xác thực , kiểm tra quyền của người dùng và xác nhận cho người dùng đăng nhập vào hệ thống. Cụ thể: - Để xác định vai trò của người dùng trong hệ thống ta xác định được thực thể

Vai trò ( Mã vai trò, Tên, Tên hiển thị,Tên thường, Mặc định, Mô tả )

Mã hóa kiểu thực thể thành bảng quan hệ, kiểu thuộc tính thành trường dữ liệu ta có

Role(RoleId, Name, DisplayName, IsDefault, Description)

-Để xác định vai trò đó có quyền truy cập những chức năng nào, ta xác định được thực thể Phân quyền (Mã quyền, Tên, Trạng thái cho phép, Mã vai trò, Mã người dùng)

Mã hóa kiểu thực thể thành bảng quan hệ, kiểu thuộc tính thành trường dữ liệu ta có

Permission ( PermissionId, Name, IsGranted, RoleId, UserId)

-Để phục vụ cho việc đăng nhập hệ thống ta đã xác định được thêm các thuộc tính

Tên đăng nhập,mật khẩu cho thực thể User.

Tên đăng nhập ,mật khẩu sẽ được mã hóa tương ứng thành

UserName, Password, RoleId cho thực thể User (UserId, Name, UserName, Password, AvatarPath, Email, PhoneNumber, Sex, Branch, Address, JobTitle, Level, StartDate, RoleId, RoleName)

 Từ phân tích nêu trên ta xác định được các thực thể phục vụ cho bảo mật là :

User ( UserId, Name, UserName, PassWord , AvatarPath, Email, PhoneNumber, Sex, Branch, Address, JobTitle, Level,Type, StartDate, RoleId)

Role(RoleId,Name, DisplayName,NormanizedName, IsDefault, Description)

Permission ( PermissionId, Name, IsGranted, RoleId,UserId)

3.1.2.Xác định thuộc tính kiểm soát, bảng kiểm soát, tình huống gom nhóm bảng dữ liệu.

+ Thêm các tình huống bảo mật

Thêm trường PasswordResetCode, EmailConfỉmCode trong bảng user.

Để ngăn chặn xung đột cập nhật đồng thời, có trường ConcurrencyStamp trong bảng user và roles.

Việc có thêm trường ConcurrencyStamp sẽ giúp làm mất hiệu lực các cookie cũ và giảm các vấn đề bảo mật có thể xảy ra khác.

+ Thiết lập mối quan hệ giữ bảng User, Role, Permission

Người dùng Nhóm người dùng Quyền

Quản lý nhân sự Bộ phận quản lý nhân sự Quản lý quá trình mở khóa timesheet

Quản lý việc thiết lập lịch làmviệc

Quản lý báo cáo thống kê số giờ làm việc

Phê duyệt hoặc từ chối Timesheet, yêu cầu xin nghỉ

Nhân viên Nhân viên Quản lý timesheet cá nhân

Gửi yêu cầu xin nghỉ Quản trị Bộ phận quản trị Cập nhật danh mục, phân

quyền cho các nhóm còn lại

Ta có : Vì 1 User có thuộc tính RoleId là thuộc tính đa trị nên ta tách ra thực thể mới UserRole ( UserRoleId, UserId,RoleId)

Một phần của tài liệu Nguyễn Thị Hường-HTTT15-Xay-dung-phan-mem-timesheet-NguyenHoaiAnh-Chinhsuacuoi (1) (Trang 44 - 47)

Tải bản đầy đủ (DOC)

(95 trang)
w