1. Trang chủ
  2. » Luận Văn - Báo Cáo

Xây dựng ứng dụng web có chức năng quản lý người dùng

19 1K 11
Tài liệu đã được kiểm tra trùng lặp

Đang tải... (xem toàn văn)

Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống

THÔNG TIN TÀI LIỆU

Thông tin cơ bản

Định dạng
Số trang 19
Dung lượng 837,04 KB

Nội dung

Xây dựng ứng dụng web có chức năng quản lý người dùng

Trang 1

ĐẠI HỌC QUỐC GIA TP.HCM TRƯỜNG ĐẠI HỌC BÁCH KHOA KHOA KHOA HỌC & KỸ THUẬT MÁY TÍNH

BÁO CÁO BÀI TẬP LỚN XÂY DỰNG ỨNG DỤNG WEB CÓ CHỨC NĂNG QUẢN LÝ NGƯỜI DÙNG

-o0o -Sinh viên:

2 Nguyễn Ngọc Tuấn (50702771)

4 Lê Nguyễn Duy Vũ (50703018)

TP HỒ CHÍ MINH, 12/2010

Trang 2

M c l c ục lục ục lục

Lời nói đầu 3

1 Mục đích, yêu cầu của ứng dụng 4

2 Ngôn ngữ xây dựng ứng dụng 4

3 Kiến trúc ứng dụng 4

3.1 Kiến trúc tổng quan 4

3.2 Mô tả kiến trúc MVC (Model-View-Control) 5

3.2.1 Các thành phần của MVC 5

3.2.2 Mô hình MVC cho Web 5

3.2.3 Hiện thực MVC trong ASP.NET MVC 6

4 Chi tiết các class của ứng dụng 6

4.1 Trang chủ và quản lý account 6

4.2 Quản lý role 7

4.3 Quản lý profile 7

4.4 Quản lý user 7

4.5 Quản lý tổng quan cho admin 7

5 Hướng dẫn sử dụng 9

5.1 Log in 9

5.2 Quản lý user 10

5.3 Quản lý profile 12

5.4 Quản lý role 13

5.5 Các chức năng quản lý cho admin 15

5.5.1 Bảng quyền 15

5.5.2 Bảng role 16

5.5.3 Bảng profile 17

5.5.4 Bảng quản lý thông tin user 18

6 Kết luận 19

Trang 3

L i nói đ u ời nói đầu ầu

Nhằm mục đích củng cố kiến thức học được từ môn học Bảo mật hệ thống thông tin, trong bài tập lớn

này, nhóm hiện thực một ứng dụng web với chức năng quản lý người dùng Ứng dụng này được xây dựng theo mô hình 3 lớp dựa trên kiến trúc MVC (Model-View-Control)

Cơ sở dữ liệu sử dụng cho ứng dụng là Oracle database Ứng dụng thực hiện các chức năng log-in, tạo, xóa, thay đổi user, profile, role, các chức năng gán quyền, …

Trang 4

1 M c đích, yêu c u c a ng d ng ục lục ầu ủa ứng dụng ứng dụng ục lục

Trong bài tập lớn này, ứng dụng sẽ hiện thực các chức năng sau đây:

dữ liệu Oracle)

thông tin account của tất cả user (đối với admin)

2. Ngôn ng xây d ng ng d ng ữ xây dựng ứng dụng ựng ứng dụng ứng dụng ục lục

Cơ sở dữ liệu được áp dụng là cơ sở dữ liệu Oracle 10g release 2

Ứng dụng web này được xây dựng bằng ngôn ngữ C#, dựa trên platform ASP.NET Đây là ngôn ngữ được sử dụng rộng rãi hiện nay cho việc phát triển các ứng dụng nền web

3 Ki n trúc ng d ng ến trúc ứng dụng ứng dụng ục lục

3.1 Ki n trúc t ng quan ến trúc ứng dụng ổng quan

Mô hình xây dựng ứng dụng là mô hình 3 lớp (3-layer model), cụ thể:

Presentation layer: phục vụ việc nhận request từ phía client, thay mặt client gửi request cho các lớp

bên dưới và hiển thị các kết quả trả về cho client

Business layer: chức các thành phần xử lý các chức năng chính.

Data layer: truy xuất dữ liệu từ cơ sở dữ liệu Hệ quản trị cơ sở dữ liệu được sử dụng ở đây là Oracle.

Trang 5

Kiến trúc xây dựng ứng dụng để hiện thực mô hình trên là ASP.NET MVC2 của Microsoft.

1.

3.2 Mô t ki n trúc MVC (Model-View-Control) ả kiến trúc MVC (Model-View-Control) ến trúc ứng dụng

3.2.1 Các thành ph n c a MVC ầu ủa ứng dụng

thành phần View và Model, lựa chọn thao tác (activity) của Model để thực thi và lựa chọn những trang view nào sẽ được tạo ra Khi nhận input, controller sẽ thông dịch trong input của request và

chuyển nó thành một đối tượng được xử lý bởi Model Về mặt ouput, Controller lấy các đối tượng

dữ liệu (bao gồm cả thông báo lỗi) được tạo ra bởi Model và chuyển sang cho View.

nghĩa bởi controller

3.2.2 Mô hình MVC cho Web

Trang 6

Đầu tiên, request sẽ được chuyển đến một class Controller Lớp này sẽ xử lý user input và làm việc với phần model để lấy về kết quả

Phần model nắm giữ các logic về business (ví dụ các đối tượng đại diện một chức năng business, và các luật về business), sẽ tương tác với database để xử lý, trả về kết quả cho controller

Để trả về kết quả cho request, Controller tạo một giao diện người dùng (user interface), mà chứa các

View là những template đơn giản để chuyển đổi giao diện mong muốn thành một đoạn mã HTML.

Chúng được cho phép chứa các logic về mặt hiển thị, chẳng hạn khả năng lặp một danh sách các đối tượng

để tạo ra một hàng thuộc table của HTML cho mỗi đối tượng, hay khả năng che dấu hoặc hiển thị một phần của trang tùy theo một cờ (flag), nhưng không chứa bất cứ chức năng nào phức tạp hơn các chức năng vừa rồi

3.2.

3.2.3 Hi n th c MVC trong ASP.NET MVC ện thực MVC trong ASP.NET MVC ựng ứng dụng

Controller là các class net, được thừa kế từ các base class Controller có sẵn Mỗi public method on class Controller được gọi là một action method, tự động được liên kết với một URL đã được cấu hình sẵn, và sau khi thực hiện một vài thao tác, nó có thể vẽ ra các view

View là những trang Web Forms ASP.NET, thường được hiện thực như là những template ASPX và tránh những cái phức tạp

ASP.NET MVC giành toàn bộ hiện thực model cho người lập trình Nó không cung cấp một kiến trúc đặc biệt nào cho phần model, bởi vì người lập trình có thể xử lý việc hiện thực thông qua các thư viện C#, các tiện ích mở rộng của NET và dựa trên việc lựa chọn database và mã truy xuất dữ liệu (data access code)

Trang 7

4 Chi ti t các class c a ng d ng ến trúc ứng dụng ủa ứng dụng ứng dụng ục lục

4.

4.1 Trang ch và qu n lý account ủa ứng dụng ả kiến trúc MVC (Model-View-Control)

Controller quản lý trang Home là HomeController Vì trang

home được thiết kế đơn giản nên không có model tương ứng Các

View tương ứng với phần Home là About.aspx và Index.aspx

AccountController quản lý mọi sự kiện liên quan đến

account như logon, logoff, register, change password, …

AccountModels là model tương ứng, xử lý các sự kiện do

controller gửi đến Các View tương ứng với phần quản lý Account

là ChangePassword.aspx, Index.aspx,

ChangePasswordSuccess.aspx, LogOn.aspx và Register.aspx.

Quản lý password: Khi user nhập password thì password này

sẽ được hash bằng giải thuật MD5 và lưu xuống bảng dữ liệu

4.2 Qu n lý role ả kiến trúc MVC (Model-View-Control)

Nhiệm vụ quản lý các thao tác liên quan đến role do

RolesController đảm nhận Nó sẽ làm việc với RolesModel để lấy

kết quả để trả về cho các View: CreateRole, EditRole,

EditRoleObjPrivs (edit quyền đối tượng của role),

GrantRoleObjPrivs (gán quyền đối tượng cho Role), GrantRoleRole (gán role này cho role khác), GrantRoleSysPrivs

(gán quyền hệ thống cho role), RoleView (xem các đặc tính của role như tên, quyền được gán, …), Index.

4.3 Qu n lý profile ả kiến trúc MVC (Model-View-Control)

Tương tự như mục role, ProfileController làm việc với

ProfileModel và ProfileView.

Trang 8

4.4 Qu n lý user ả kiến trúc MVC (Model-View-Control)

UserController, UserModel và các View là Create, Delete, Edit, EditUserRole, EditUserSysPrivs, GetAllUser, GrantUserRole, GrantUserSysPrivs, Index.

4.5 Qu n lý t ng quan cho admin ả kiến trúc MVC (Model-View-Control) ổng quan

Để phục vụ cho mục đích xem thông tin quyền gián tiếp của tất cả các user trong hệ thống, ta tạo thêm một bảng tạm trong schema SYSTEM tên là USER_ROLE_TB, chứa tên của user và tất cả các role được gán cho nó, kể cả những role được gán gián tiếp thông qua một role khác

create table system.USER_ROLE_TB(

username varchar(30), role varchar(30) )

Và sẽ gán quyền select, insert, update trên bảng này cho user admin Những công việc này sẽ được thực hiện lúc cài đặt hệ thống

Mỗi lần admin muốn xem các quyền của tất cả các user thì đoạn thủ tục sau sẽ được chạy Mục đích là update thông tin cho bảng USER_ROLE_TB

declare

cursor c1 is

emp_row c1%rowtype;

procedure getAllRole(irole IN c1%rowtype)

as

cursor c2 is select irole.username username, granted_role as role from DBA_ROLE_PRIVS

where grantee =irole.role;

grantee_row c2%rowtype;

begin

open c2;

loop

fetch c2 into grantee_row;

exit when c2%NOTFOUND;

values(grantee_row.username, grantee_row.role);

getAllRole(grantee_row);

end loop;

end;

begin

exit when c1%NOTFOUND;

Trang 9

insert into system.USER_ROLE_TB values(emp_row.username, emp_row.role);

getAllRole(emp_row);

end;

5 H ướng dẫn sử dụng ng d n s d ng ẫn sử dụng ử dụng ục lục

5.1 Log in

Nhấn vào nút Log In trên trang Home để chuyển sang trang login và điền một số thông tin như username, password, hostname, port, tên database Cuối cùng, nhấn Log On

Sau khi đăng nhập, hệ thống sẽ tự chuyển đến trang hiển thị các thông tin của account vừa đăng nhập

Trang 10

5.2 Qu n lý user ả kiến trúc MVC (Model-View-Control)

của tất cả user mà account hiện tại có thể thấy được

Trang 11

Muốn edit user nào, nhấn vào link Edit trên dòng thông tin của user đó Trang Edit User sẽ hiển thị

như sau:

Ngoài ra, trang này còn có một số field để xem các quyền hệ thống, quyền đối tượng của user đã

chọn Thẻ grantedRole cho phép xem thông tin các role đã được gán và cho phép gán role mới cho user.

Thẻ System Privileges cho phép xem thông tin các quyền hệ thống của user được chọn, và cho phép

gán quyền hệ thống mới cho user đó

Thẻ Object Privileges thì tương tự thẻ System Privileges, cho phép xem thông tin các quyền đối

tượng trên cột, bảng của user được chọn, và cho phép gán quyền đối tượng mới cho user đó

Trang tạo mới user như sau (hiện ra sau khi nhấn vào create New):

Trang 12

5.3 Qu n lý profile ả kiến trúc MVC (Model-View-Control)

Trang này cũng có các link để thực hiện các thao tác tạo mới profile, edit, xóa, xem một profile cụ thể

Trang 13

Ứng dụng chỉ cho phép edit các resource sau của một profile: Sessions_per_user, Connect_time, Idle_time

5.4 Qu n lý role ả kiến trúc MVC (Model-View-Control)

Nhấn vào tab Role trên thanh panel chính để chuyển sang phần quản lý role

Cũng tương tự trang quản lý Profile, tất cả các role mà account đang đăng nhập có thể thấy được sẽ hiện ra, cùng với một số link để edit, xóa, xem thông tin về profile đó

Nhấn vào mục Create New để tạo mới một role.

Trang 14

Trang Edit một role sẽ gồm 4 mục nhỏ:

Trang 15

 Object privilege: Xem và gán quyền đối tượng cho role.

5.5 Các ch c năng qu n lý cho admin ứng dụng ả kiến trúc MVC (Model-View-Control)

5.5.1 B ng quy n ả kiến trúc MVC (Model-View-Control) ền

Từ panel chính, nhấn vào Management Tables, rồi vào User System Privilege Table hoặc User Object

Privilege Table.

Bảng quyền được chia làm 2 bảng nhỏ hơn:

quyền hệ thống nào với quyền admin option hay không.

những quyền đối tượng nào với quyền grant option hay không.

Trang 16

5.5.2 B ng role ả kiến trúc MVC (Model-View-Control)

Từ panel chính, nhấn vào Management Tables, rồi vào Role System Privs hoặc Role Object Privs.

Ở đây, chia làm hai bảng nhỏ là role system privs (chứa các thông tin quyền hệ thống của role) và

role Object Privs (chứa các thông tin quyền đối tượng của role).

Bảng Role System Privs sẽ hiển thị tất cả các role trong hệ thống, những quyền hệ thống của role đó

và những user đang được gán role đó

Trang 17

Bảng role Object Privs sẽ hiển thị tất cả role trong hệ thống, các quyền đối tượng được gán cho role

đó, và những user (grantee) đang được gán role đó

5.5.3 B ng profile ả kiến trúc MVC (Model-View-Control)

Từ panel chính, nhấn vào Management Tables, rồi vào Profile Table.

Trang 18

Liệt kê tất cả các profile và các thông tin tài nguyên của từng profile, cũng như những user nào đang được gán profile đó

5.5.4 B ng qu n lý thông tin user ả kiến trúc MVC (Model-View-Control) ả kiến trúc MVC (Model-View-Control)

Từ panel chính, nhấn vào Management Tables, rồi vào User Info:

Hiển thị các thông tin về quyền của user: cho thấy user nào có những quyền nào, được cấp trực tiếp hay gián tiếp thông qua role, và user có được cấp quyền đó cho user khác hay không

Trang 19

6 K t lu n ến trúc ứng dụng ận

Với việc áp dụng các kiến thức học được về bảo mật hệ thống thông tin, ứng dụng đã đáp ứng được các yêu cầu đặt ra từ ban đầu, là xây dựng một trang web có các chức năng quản lý người dùng Quá trình hiện thực ứng dụng đã gặp không ít khó khăn Từ đó, nhóm hiểu rõ hơn về hệ quản trị Oracle ở nhiều khía cạnh, đồng thời thu được nhiều kiến thức khác

Ngày đăng: 23/01/2013, 00:32

HÌNH ẢNH LIÊN QUAN

5.5.1. Bảng quyền - Xây dựng ứng dụng web có chức năng quản lý người dùng
5.5.1. Bảng quyền (Trang 13)
5.5.2. Bảng role - Xây dựng ứng dụng web có chức năng quản lý người dùng
5.5.2. Bảng role (Trang 14)
Bảng Role System Privs sẽ hiển thị tất cả các role trong hệ thống, những quyền hệ thống của role đó và  những user đang được gán role đó. - Xây dựng ứng dụng web có chức năng quản lý người dùng
ng Role System Privs sẽ hiển thị tất cả các role trong hệ thống, những quyền hệ thống của role đó và những user đang được gán role đó (Trang 15)
5.5.3. Bảng profile - Xây dựng ứng dụng web có chức năng quản lý người dùng
5.5.3. Bảng profile (Trang 16)

TỪ KHÓA LIÊN QUAN

TÀI LIỆU CÙNG NGƯỜI DÙNG

TÀI LIỆU LIÊN QUAN

w