Bài số 6
Bo mt vi ASP.NET MVC Application
Table of Contents
1 Authentication (Xc thc ngưi dng) ................................................................................ 2
1.1 Tạo người dùng mặc định vi ASP.NET MVC Application ............................................. 2
1.2 Qun lý người dùng vi công cụ Website Administration Tool ........................................ 3
1.3 Roles (Phân quyền nhóm người dùng) .................................................................................. 4
2 Cấu hình xác thc ngưi dùng ............................................................................................. 7
2.1 Sử dụng SQL Server 2005 ...................................................................................................... 8
2.2 Cấu hình truy nhp database trong SQL Server ................................................................... 9
3 Câu ho
̉
i ôn tâ
̣
p ...................................................................................................................... 10
4 Ti liu tham kho ............................................................................................................... 10
Microsoft Vietnam – DPE team | Bài số 6: Bảo mật với ASP.NET MVC Application
2
1 Authentication (Xc thc người dng)
C nhiều phương php xc thc người dng như Windows Authentication, Forms Authentication. phn ny ch
giơ
́
i thiê
̣
u phương pha
́
p xa
́
c thư
̣
c ngươ
̀
i du
̀
ng dư
̣
a trên Forms (dng C#). Mục đch ca hưng dn ny l ging
gii cch dng Forms Authentication đê
̉
yêu cầu ba
̉
o mâ
̣
t bằng password cho ca
́
c Views . Sư
̉
du
̣
ng Website
Administration Tool ta
̣
o ngươ
̀
i du
̀
ng va
̀
phân quyền nho
́
m ngươ
̀
i du
̀
ng, ngăn chă
̣
n như
̃
ng ngươ
̀
i du
̀
ng tra
́
i phe
́
p.
1.1 Tạo người dùng mặc định vi ASP.NET MVC Application
Mặc định khi ứng dụng được tạo sẽ có sẵn một Controllers có tên là AccountController.cs và có sẵn các Views
tương ứng ChangePassword.aspx, ChangePasswordSuccess.aspx, Login.aspx, Register.aspx (Figure 1)
Figure 1. Controllers và Views có sẵn để tạo người dùng
Views thể hiện việc register một người dùng mi như sau. (Figure 2)
Figure 2. Tạo người dùng sử dụng công cụ của ASP.NET MVC Application
Microsoft Vietnam – DPE team | Bài số 6: Bảo mật với ASP.NET MVC Application
3
1.2 Qun lý người dùng vi công cụ Website Administration Tool
Chn menu Projects ASP.NET Configuration. Xuất hiê
̣
n công cu
̣
Website Administration Tool Chn tab
Security (Figure 3)
Figure 3. Công cu
̣
Website Administration Tool
Click vo link Create User để tạo người dùng. Chẳng hạn tạo người dùng tên Lan (Figure 4)
Figure 4. Tạo người dùng với Website Administration Tool
Microsoft Vietnam – DPE team | Bài số 6: Bảo mật với ASP.NET MVC Application
4
1.3 Roles (Phân quyền nhm người dùng)
Để tạo role trưc hết cn phi enable role bằng cch click vo link Enable roles sau đ click vo link Create and
Manage roles tạo role có tên Administrators (Figure 5)
Figure 5. Tạo role cho người dùng
Tiếp theo tạo một người dùng mi kết hợp vi role đã c (Figure 6)
Microsoft Vietnam – DPE team | Bài số 6: Bảo mật với ASP.NET MVC Application
5
Figure 6. Tạo người dùng với role Administrators
Bây giờ ta c 2 người dùng mi, người dùng Lan không thuộc roles và người dùng Trang thuộc roles
Administrators.
Xây dng một controllers xem tin tức được bo mt. Yêu cu người dùng phi đăng nhp mi có quyền xem. Tùy
thuộc đối tượng người dùng nào sẽ được vào các vùng tin tức nào.
BanHang\Controllers\TinTucController.cs
using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Web.Mvc;
using System.Web.Mvc.Ajax;
namespace BanHang.Controllers
{
public class TinTucController : Controller
{
public ActionResult Index()
{
return View();
}
[Authorize]
public ActionResult NguoiDung()
{
return View();
}
[Authorize(Users="Lan")]
public ActionResult NguoiDungCuThe()
{
return View();
}
[Authorize(Roles = "Administrators")]
public ActionResult NhomNguoiDung()
{
return View();