Xây dựng ứng dụng winform C# hỗ trợ hiện thực một số chức năng bảo mật (Quản lý người dùng) của oracle

Yêu cầu

Ngôn ngữ, Fw code # c#

Mô ả

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.

Liên hệ

Phạm Xuân Nhuận

0327300035

Click link facebook