1
Forms Authentication
Nguy n Hà Giang
Nguyen Ha Giang
ễ
ộ
N i dung
2
Forms Authentication?
Demo minh h a.ọ
Nguyen Ha Giang
ự ứ Cách th c th c thi
Authentication
3
ấ ườ ổ ế ứ Vi c s d ng ch c năng login r t th ng ph bi n
ệ ử ụ ứ ụ trong ng d ng web.
ế
ậ
ạ
H n ch user truy c p vào vùng secure
ề ử ụ
ứ
ớ
User đã đăng ký m i có quy n s d ng các ch c năng
Post bài, download, comment…
Xây d ng ng d ng web v i ch c năng login cũng
ự ứ ứ ụ ớ
không quá khó khăn.
ậ
ộ
ừ ệ ữ
ỉ ữ
ứ
ủ
ộ
ặ T vi c cho phép user truy c p m t trang nào đó, ho c nh ng ch nh ng ch c năng nào đó c a m t trang web
Nguyen Ha Giang
Authentication
4
Giao ti p gi a trang web và user
Web App
Admin page
Yê u c ầ u l o g i n
Users
Public page
Nguyen Ha Giang
ữ ế
Authentication
5
Các ch c năng Authentication đ
ứ ượ ỗ ợ c ASP.NET h tr .
Forms Authentication th ủ
ườ ượ ề ậ ng đ c đ c p do tính
ệ ụ ti n d ng c a nó.
ữ ư
ư ự
Forms Authentication cho phép developer l u tr thông tin xác th c nh username, pass trong file web.config, ho c trong database, XML file, text file…
ặ
ữ
ẽ
ề
ọ
Đi u quan tr ng là form authentication s làm nh ng công
vi c ệ statetracking cho developer.
Nguyen Ha Giang
Authentication
6
ứ
ử ụ Forms Authentication s d ng cookie cho phép ng ữ ụ ầ d ng tracking user qua nh ng l n request.
Cách x lý c a Forms Authentication cũng t
ử ươ ự ng t
Khi user login thông qua form authentication
ử ư ủ nh cách x lý trong ASP.
ượ ạ
ố ứ
ụ
ể
Cookie đ
c t o ra đ tracking user xuyên su t ng d ng
(cid:0)
ư
ộ
N u user yêu c u m t trang secure và ch a login,
s ẽ
ầ ế ế c ượ redirect đ n Login page
đ
ẽ ượ
ệ
ậ
ộ
M t khi user đã thành công vi c xác nh n, user s đ
c
ế
ể
chuy n đ n trang request.
Nguyen Ha Giang
Authentication
7
Nguyen Ha Giang
ặ
8
ơ Cài đ t form authentication c b nả Trang login.aspx, web.config và các trang aspx khác
Forms Authentication tiêu chu n s ch a t
ẩ ẽ ứ ấ ả t c thông
Web.config
Authentication
ậ ẽ ượ ở ế
ủ tin c a user trong web.config.
ộ Thu c tính Name LoginUrl
Mô tả ử ụ ủ Tên c a cookie s d ng form authentication ư URL khi user ch a đăng nh p s đ
c g i đ n
ặ ị ể
ờ
DefaultUrl Timeout
ế ể Trang m c đ nh chuy n đ n sau khi sign in ế ạ Th i gian đ cookie h t h n
Nguyen Ha Giang
ặ
9
ơ Cài đ t form authentication c b nả ấ C u hình Web.config
Web.config
Credential
ạ ữ
ộ Thu c tính PasswordFormat User
Mô tả ị Đ nh d ng cho password: clear, SHA1, MD5 ề ư L u tr thông tin v user name & pass
ừ ố
ậ
Authorization ặ
Deny | Allow
T ch i ho c cho phép truy c p trang nào đó
Nguyen Ha Giang
ặ
10
ơ Cài đ t form authentication c b nả
Web.Config
ừ ố
ậ
T ch i anonymous truy c p
Nguyen Ha Giang
ặ
11
ỗ
ơ Cài đ t form authentication c b nả Mã hóa chu i password trong credential.
Nguyen Ha Giang
ọ ử ụ
Minh h a s d ng Forms Authen
12
ộ ứ ụ ả ơ ọ ử T o m t ng d ng Web App đ n gi n minh h a s
ạ ụ d ng Forms Authentication
ể
ậ Trang Login.aspx: đ đăng nh p
ượ
ệ
ả
ỉ
c b o v , ch có user
Trang SecurePage.aspx: là trang đ
ể
ề
ượ
ớ có quy n m i có th vào đ
c.
ể
ấ
Web.config đ c u hình Forms
ấ File c u hình Authentication.
Nguyen Ha Giang
ọ ử ụ
Minh h a s d ng Forms Authen
13
Trang login.aspx
ủ
ể
protected void btnLogin_Click(object sender, EventArgs e) { if ( FormsAuthentication.Authenticate(txtUserName.Text, txtPassword.Text)) FormsAuthentication.RedirectFromLoginPage(txtUserName.Text, true); ị else // hi n th lên label c a login page lblInfo.Text = "Đăng nhập không thành công!"; }
Nguyen Ha Giang
ọ ử ụ
Minh h a s d ng Forms Authen
14
Trang SecurePage.aspx
ứ
ể
ậ
ị
Hi n th thông tin user đăng nh p, ch c năng logout.
LoginName
LoginStatus
ử ụ
S d ng hai control LoginName và LoginStatus
Nguyen Ha Giang
ọ ử ụ
Minh h a s d ng Forms Authen
15
File c u hình Web.config
Nguyen Ha Giang
ấ
ọ ử ụ
Minh h a s d ng Forms Authen
16
Nguyen Ha Giang
ử ủ ệ ạ ậ Ch y th nghi m: truy c p URL c a trang SecurePage
Minh h a 2ọ
17
Trong minh h a 1:
ọ
ượ ư
c l u trong file
ấ ệ
Thông tin username, password đ web.config (đôi khi b t ti n!)
ấ ả
ủ ứ
ụ
ề
ả
ầ
T t c các trang c a ng d ng đ u ph i yêu c u đăng
nh pậ
Minh h a 2:ọ
ư
Thông tin username, password l u bên ngoài file config.
ề
ầ
ả
ậ
ộ
Không ph i toàn b các trang đ u yêu c u đăng nh p!
Nguyen Ha Giang
Minh h a 2ọ
18
T o các trang
Index.aspx
Login.aspx
SecurePage.aspx
publicPage.aspx
Web.config
Nguyen Ha Giang
ạ
Minh h a 2ọ
19
T o trang login.aspx
protected bool CheckUser(string user, string pass) { // phần check user này ta có thể truy xuất database, // file xml, file text để lấy thông tin account.
ậ ừ
s ki m tra thông ặ DB ho c
L u ýư : Hàm CheckUser ự ế ẽ ể th c t tin đăng nh p t file bên ngoài
//Phần demo nên ta hardcode :D luôn! if (user == "giang" && pass == "giang123") return true; return false; } protected void btnLogin_Click(object sender, EventArgs e) { if ( CheckUser( txtUserName.Text, txtPassword.Text) ) FormsAuthentication.RedirectFromLoginPage( txtUserName.Text, true ); else lblInfo.Text = "Đăng nhập không thành công!"; }
Nguyen Ha Giang
ạ
Minh h a 2ọ
20
Ph n trang SecurePage.aspx t
ầ ươ ự ọ ng t minh h a 1
T o page m i đ t tên PublicPage.aspx
ớ ặ ạ
ỉ ứ
Trang này ch ch a dòng thông báo là “Trang public”
ệ
ượ ả
c b o v
Nguyen Ha Giang
Minh h a 2ọ
21
Ph n c u hình config.
Nguyen Ha Giang
ầ ấ
Minh h a 2ọ
22
T o trang index.aspx
ạ
ứ
ế
Trang này ch a các link đ n 2 trang
SecurePage.aspx
Public.aspx.
Index.aspx
Nguyen Ha Giang
Minh h a 2ọ
23
ầ
ậ
Yêu c u đăng nh p
ng ờ ư
Vào bình th
Nguyen Ha Giang
ệ ạ ử Ch y th nghi m
Tóm t
tắ
24
Tìm hi u đ
ể ượ ơ ế ạ c c ch Authentication d ng Forms
C u hình file Web.config đ l u thông tin
Authentication
Username, password
Authorization
ể ư ấ
Minh h a đ
ọ ượ ứ ử ụ ượ c cách th c s d ng đ c authentication
ứ ụ trong ng d ng ASP.NET
ự
Th c thi các trang yêu c u authentication và các trang
ầ
ầ không c n authentication
Nguyen Ha Giang
Bài t pậ
25
Sinh viên làm l
ạ ọ
ượ ư ớ i bài minh h a 2 v i thông tin account ơ ở ữ ệ c l u trong c s d li u SQL Server. đ
B sung ph n Authentication cho các ng d ng
ứ ụ ổ
Nguyen Ha Giang
ạ ầ ASP.NET mà b n đã vi ế ướ t tr c đây.

