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 ệ state­tracking 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

Trang này đ

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.