Thành viên | Nội dung |
aspnet
Lập trình không biên giới 598 bài
| Trong file web.config có đoạn sau :
<authentication mode="Forms" />
Có 4 mode xác thực người dùng trong asp.net đó là
- None - Forms - Windows - Passport.
Trong các dạng này : - Windows có nghĩa là bạn đăng nhập với user nào để vào windowxp thì chính user đó sẽ là user hiện tại
- passport : dành cho single sign on (SSO) cái này chưa tìm hiểu kỹ - None : chẳng cần đăng nhập làm gì cho mệt, có viết file đăng nhập login.aspx thì hệ thống nó cũng chẳng chạy. - Chúng ta chỉ cần chú ý dạng Forms : có nghĩa là sử dụng form đăng nhập do chúng ta viết để xác thực người dùng.
1 cái form đăng nhập thông thường bao gồm các thông tin cơ bản sau :
- username - mật khẩu - nhớ mật khẩu (checkbox) - đăng ký nếu chưa có tài khoản - quên mật khẩu.
Để đăng ký rằng người dùng có username = 'aspnet' đang đăng nhập hệ thống chúng ta dùng câu lệnh sau
System.Web.Security.FormsAuthentication.SetAuthCookie(dt.Rows [0] ["UserName"] .ToString(), persist);
cái persist là biến bool, nếu là true thì hệ thống nó sẽ tự nhớ username và mật khẩu của lần trước để tự động đăng nhập, còn nếu là false thì nó sẽ không nhớ mật khẩu đâu.
1/ Cái FormsAuthentication thực chất nó làm 1 việc tương đối đơn giản là ghi vào 1 cái cookie có tên là ".ASPXAUTH" (chú ý là có dấu chấm) cái credital này được mã hóa kiểu quái quỷ gì đó mà khi decrypt (giải mã) ngược trở lại nó sẽ cho ta cái username. Mỗi lần nó mã hóa ra một đoạn mã khác nhau nhưng lần nào decrypt cũng ra cái tên 'aspnet'
2/ Và tiếp theo nó làm việc là ghi vào ServerVariables ["AUTH_USER"] giá trị 'aspnet'.
Như thế để lấy ra user hiện tại chúng ta chỉ cần dùng mỗi lệnh này là ngon.
return HttpContext.Current.Request.ServerVariables ["AUTH_USER"] ;
Ngoài ra chúng ta còn có thể dùng các cách lởm khác :
return HttpContext.Current.User.Identity.Name;
nhưng cách này lỗi hơn nhiều.
--- Coding for food http://yenbai.awas.vn http://tknd.vn http://coder.awas.vn http://awas.vn http://bieuquyet.vn http://webhocsinh.com
|
aspnet
Lập trình không biên giới 598 bài
| Tổng quan về quản lý thông tin đăng nhập hệ thống anh em đọc ở chỗ này
http://msdn.microsoft.com/en-us/library/7t6b43z4(VS.80).aspx
--- Coding for food http://yenbai.awas.vn http://tknd.vn http://coder.awas.vn http://awas.vn http://bieuquyet.vn http://webhocsinh.com
|
01233
11 bài
| Bác cho em hỏi . Đây mới chỉ là xác thực xem người đó đăng nhập hay chưa, vậy nếu em muốn phân quyền thì như thế nào ạ, ý em ko là làm sao có thể phân quyền động mà ko fai vào trong WebConfig ấy ạ. Mong bác chỉ bảo cho .
|
aspnet
Lập trình không biên giới 598 bài
| Bác cho em hỏi . Đây mới chỉ là xác thực xem người đó đăng nhập hay chưa, vậy nếu em muốn phân quyền thì như thế nào ạ, ý em ko là làm sao có thể phân quyền động mà ko fai vào trong WebConfig ấy ạ. Mong bác chỉ bảo cho .
Bó tay đồng chí. Dùng cái này.
Select * from quyen where username = httpcontext.current.user.identity.name;
Cái bảng này bạn có tạo ra được không?
Hình như một số bạn chẳng bao giờ chịu tự tìm hiểu chỉ chăm chăm đi hỏi và hỏi, một sự lười biếng đáng chê trách của những sinh viên công nghệ hiện tại. --- Coding for food http://yenbai.awas.vn http://tknd.vn http://coder.awas.vn http://awas.vn http://bieuquyet.vn http://webhocsinh.com
|
|