Session – cấu hình

Một phần của tài liệu Lập trình ASP.NET Applications và State Management (Trang 43)

• Thời gian sống của session có thể thiết lập thông qua web.config (đơn vị là phút)

• Session có thể làm việc mà không cần cookie

• Trong trường này Session ID lưu trữ trong URL <configuration> <system.web> <sessionState timeout="10" /> </system.web> </configuration> <configuration> <system.web> <sessionState timeout="10" /> </system.web> </configuration> <sessionState cookieless="true" /> <sessionState cookieless="true" />

http://server/(h44a1e55c0breu552yrecobl)/page.aspx http://server/(h44a1e55c0breu552yrecobl)/page.aspx

Session

Phương thức

 Abandon(): giải phóng vùng nhớ được dùng để duy trì đối tượng Session trên Web Server ngay khi được gọi thực hiện. Những yêu cầu sau đó được Web server coi như là một người dùng mới.

 Remove(“SessionName”): xoá dữ liệu trên biến “VarSession”

Session

Ví dụ: Tạo trang (Page) hoặc User Control là Login.aspx Thiết kế giao diện như sau:

Session

Khởi tạo và Huỷ thông tin đăng nhập của người dùng trong Session

void Session_Start(object sender, EventArgs e) {

// Tăng số khách viếng khi có 1 phiên làm việc của

user

Application["SoKhachVieng"] =

(int)Application["SoKhachVieng"] + 1;

// Thiết lập thời gian TimeOut cho mọi phiên là 30

phút

Session.Timeout = 30;

// Đặt trạng thái ban đầu của user là chưa đăng

nhập

Session["LOGIN_OK"] = false; }

protected void btnLogin_Click(object sender, EventArgs e) {

if (Authority(txtUserName.Text, txtPassword.Text)) {

// Lưu thông tin đăng nhập thành công vào Session

Session["LOGIN_OK"] = true;

// Ẩn chức năng Login

panelLogin.Visible = false;

// Hiển thị chức năng logout và lời chào mừng

LblGreeting.Text = "Chào mừng bạn " +

txtUserName.Text + " đã đăng nhập website!"; }

else {

// Lưu thông tin đăng nhập thất bại vào Session Session["LOGIN_OK"] = false;

} } }

Session

protected bool Authority(string user, string pwd) {

if (user == "admin" && pwd == "12345") {

return true;

}

return false;

Cookie

• Là mẫu tin nhỏ (dạng chuỗi) dùng để lưu trữ thông tin người dùng trên máy của client (trong bộ nhớ hoặc file text nhỏ).

• Lifetime được thiết lập bởi người lập trình, được sử dụng trong nhiều trang và trong các lần visit site

• Phạm vi toàn bộ ứng dụng .NET

• Không bảo mật, do toàn bộ dữ liệu được gởi cho client. Cookie có thể modify dễ dàng.

• Tương tự như view state, hạn chế chỉ sử dụng dữ liệu nhỏ

Cookie

Một phần của tài liệu Lập trình ASP.NET Applications và State Management (Trang 43)