Ngôn ngữ, Fw code # c#
Hiện thực các chức
năng để quản lý user cho ứng dụng đó, cụ thể:
·
Chức năng log in
(áp dụng 1 phương pháp mã hóa cho việc lưu password).
·
Tạo/xóa/thay đổi
user :
Các
thông tin mà 1 user account có thể được thiết lập (khi tạo mới hoặc khi thay đổi
user) gồm :
ü Username,Password
ü Default_tablespace, Temporary_tablespace (SV tạo sẵn
trên CSDL Oracle một số tablespace để admin có thể gán cho các user chứ không cần
hiện thực chức năng tạo/xóa tablespace).
ü Quota
ü Account status (lock/unclock)
ü Profile
ü Role
·
Tạo/xóa/thay đổi
profile (khái niệm profile trong CSDL Oracle) :
Ứng
dụng cần cho phép gán/thay đổi các resource sau của profile (theo 3 loại là
Unlimited, Default, một số cụ thể do người dùng gán):
ü Sessions_per_user
ü Connect_time
ü Idle_time
Ứng dụng không cần
thiết quản lý các giới hạn resource này của các user khi user đó log in vào hệ
thống mà chỉ cần cho phép thiết lập giá trị cho các giới hạn resource này.
·
Tạo/xóa/thay đổi
role:
Cho
phép thiết lập các thông tin sau khi tạo/thay đổi role:
ü Role có password hay không
ü Nếu role có password, cho phép thay đổi password của
role
·
Gán/thu hồi quyền/role
trên user/role:
Cho phép gán các
quyền sau cho user/role:
ü Quyền hệ thống:
-
CREATE PROFILE*,
ALTER PROFILE*, DROP PROFILE*
-
CREATE ROLE*,
ALTER ANY ROLE*, DROP ANY ROLE*, GRANT ANY ROLE*
-
CREATE SESSION*
-
CREATE ANY TABLE,
ALTER ANY TABLE, DROP ANY TABLE, SELECT ANY TABLE*, DELETE ANY TABLE, INSERT
ANY TABLE, UPDATE ANY TABLE
-
CREATE TABLE
-
CREATE USER*,
ALTER USER*, DROP USER*
ü Quyền đối tượng (object privilege) trên một table cụ
thể:
SELECT*, INSERT,
DELETE
ü Quyền đối tượng (object privilege) trên một column cụ
thể:
SELECT*, INSERT
Người gán quyền/role
có thể thiết lập thêm tùy chọn là cho phép người được gán quyền/role được phép
gán quyền/role đó cho những user/role khác (lưu ý các quyền trên đối tượng có hạn
chế đối với tùy chọn này.Các SV tự tìm hiểu đó là hạn chế gì).
Các lệnh được đánh
dầu * ở bên trên là những lệnh mà ứng dụng cần kiểm tra xem một user có quyền
đó không trước khi cho phép user đó thực hiện những hành động cần có quyền đó.
·
Các table :
Ứng
dụng cần truy xuất các bảng hệ thống của Oracle để lấy các thông tin cần thiết
và cho hiển thị các thông tin đó theo dạng bảng cho admin xem khi cần thiết:
ü Table quản lý quyền : liệt kê tất cả các quyền và user
nào đang được cấp những quyền nào.
ü Table quản lý role : liệt kê tất cả các role, những
quyền của role đó và user nào đang được gán role đó.
ü Table quản lý profile : liệt kê tất cả các profile,
các resource thuộc từng profile và các user đang được gán profile đó.
ü Table quản lý thông tin các user :
Riêng đối với loại
thông tin này, mọi user đều có quyền xem
những thông tin account của user đó (riêng admin có quyền xem thông tin của tất
cả các user):
-
Username
-
Account_status,
Lock_date, Created_date
-
Default_tablespace,Temporary_tablespace,
Quota
-
Profile : lưu ý
đây là khái niệm profile trong Oracle
-
Role (cho thấy
user được cấp role nào, user đó có được gán role đó cho user khác hay không)
-
Privilege (cho thấy
user có những quyền nào, được cấp trực tiếp hay thông qua role, user có được cấp
quyền đó cho user khác hay không)
Ngoài những thông
tin trên, SV nên tạo 1 table để quản lý những thông tin bình thường của user
như họ tên, địa chỉ, số điện thoại, email,v.v... Table này do SV tự thiết kế.
Chủ yếu để có thể cho demo chức năng gán quyền trên đối tượng của ứng dụng.