ASP.NET Web Pages - Đối tượng WebSecurity
- Trang trước Lớp WebPages
- Trang tiếp theo Cơ sở dữ liệu WebPages
Mô tả
Đối tượng WebSecurity cung cấp bảo mật và xác thực cho ứng dụng ASP.NET Web Pages.
Bằng cách sử dụng đối tượng WebSecurity, bạn có thể tạo tài khoản người dùng, đăng nhập và đăng xuất, khôi phục hoặc thay đổi mật khẩu, v.v.
Sách tham khảo đối tượng WebSecurity - Thuộc tính
Thuộc tính | Mô tả |
---|---|
CurrentUserId | Lấy ID người dùng hiện tại. |
CurrentUserName | Lấy tên người dùng hiện tại. |
HasUserId | Lấy giá trị chỉ ra người dùng hiện tại có ID người dùng hay không. Nếu có, trả về true. |
IsAuthenticated | Lấy trạng thái xác thực hiện tại của người dùng. |
Sách tham khảo đối tượng WebSecurity - Phương thức
Thuộc tính | Mô tả |
---|---|
ChangePassword() | Thay đổi mật khẩu của người dùng. |
ConfirmAccount() | Xác nhận tài khoản hợp lệ và kích hoạt tài khoản đó. |
CreateAccount() | Tạo tài khoản người dùng mới. |
CreateUserAndAccount() | Tạo tài khoản người dùng mới. |
GeneratePasswordResetToken() | Tạo mã token khôi phục mật khẩu có thể gửi qua email cho người dùng. |
GetCreateDate() | Trả về ngày và giờ tạo tài khoản thành viên được chỉ định. |
GetPasswordChangeDate() | Trả về ngày và giờ gần nhất thay đổi mật khẩu tài khoản thành viên được chỉ định. |
GetPasswordFailures SinceLastSuccess() |
Trả về số lần nhập mật khẩu sai từ lần đăng nhập hoặc tạo tài khoản thành viên thành công gần nhất. |
GetUserId() | Trả về ID người dùng dựa trên tên người dùng được chỉ định. |
GetUserIdFrom PasswordResetToken () |
Trả về ID người dùng từ token đặt lại mật khẩu. |
InitializeDatabaseConnection() | Khởi tạo hệ thống thành viên bằng cách kết nối đến cơ sở dữ liệu chứa thông tin người dùng. |
IsAccountLockedOut() | Chỉ ra tài khoản thành viên được chỉ định có bị khóa vì số lần thử mật khẩu không thành công quá nhiều hay không. |
IsConfirmed() | Trả về một giá trị chỉ ra rằng người dùng có được xác thực hay không. |
IsCurrentUser() | Trả về một giá trị chỉ ra rằng tên người dùng đã đăng nhập có khớp với tên người dùng được chỉ định hay không. |
Login() | Đăng nhập người dùng. |
Logout() | Đăng xuất người dùng. |
RequireAuthenticatedUser() | Nếu người dùng chưa được xác thực, hãy đặt HTTP status thành 401 (không có quyền). |
RequireRoles() | Nếu người dùng hiện tại không thuộc nhóm角色 được chỉ định, hãy đặt HTTP status code thành 401. |
RequireUser() | Nếu người dùng hiện tại không phải là người dùng được chỉ định, hãy đặt HTTP status thành 401. |
ResetPassword() | Đặt lại mật khẩu bằng cách sử dụng token đặt lại mật khẩu. |
UserExists() | Kiểm tra xem người dùng có tồn tại hay không. |
Dữ liệu kỹ thuật
Tên | Giá trị |
---|---|
Class | WebMatrix.WebData.WebSecurity |
Namespace | WebMatrix.WebData |
Assembly | WebMatrix.WebData.dll |
Khởi tạo cơ sở dữ liệu WebSecurity
Trước khi sử dụng đối tượng WebSecurity, bạn phải tạo hoặc khởi tạo cơ sở dữ liệu WebSecurity.
Trong thư mục web, tạo hoặc chỉnh sửa trang _AppStart.cshtml.
Viết mã sau vào tệp này:
_AppStart.cshtml
@{ WebSecurity.InitializeDatabaseConnection("Users", "UserProfile", "UserId", "Email", true); }
Mỗi khi trang web khởi động, mã trên sẽ được chạy. Nó sẽ tiến hành khởi tạo cơ sở dữ liệu WebSecurity.
Tên cơ sở dữ liệu WebSecurity là "Users". (Users.sdf)
Tên bảng cơ sở dữ liệu chứa thông tin cấu hình người dùng là "UserProfile".
"UserId" là tên cột chứa ID người dùng (chìa khóa chính).
"Email" là tên cột chứa tên người dùng.
Tham số cuối cùng true là một giá trị luận lý, chỉ ra rằng nên tạo bảng hồ sơ người dùng và bảng thành viên (nếu chúng không tồn tại), ngược lại false.
Lưu ý: Mặc dù true chỉ ra việc tự động tạo bảng cơ sở dữ liệu, nhưng cơ sở dữ liệu本身 sẽ không được tạo tự động. Nó phải tồn tại.
Cơ sở dữ liệu WebSecurity
Mỗi bản ghi trong bảng UserProfile đại diện cho một người dùng, bao gồm ID người dùng (chìa khóa chính) và tên người dùng (email):
UserId | |
---|---|
1 | john@johnson.net |
2 | peter@peterson.com |
3 | lars@larson.eut |
Bảng Membership chứa thông tin thành viên, chẳng hạn như khi nào người dùng tạo và có (và khi nào) xác nhận thành viên.
Tương tự như vậy (các cột certain không được liệt kê):
UserId | Ngày tạo | Xác nhận Token |
Có Xác nhận |
Cuối cùng Mật khẩu không đúng |
Mật khẩu | Thay đổi mật khẩu |
---|---|---|---|---|---|---|
1 | 12.04.2012 16:12:17 | NULL | True | NULL | AFNQhWfy.... | 12.04.2012 16:12:17 |
Ghi chú:Nếu bạn muốn xem tất cả các cột và tất cả nội dung, hãy mở cơ sở dữ liệu bằng WebMatrix, sau đó xem mỗi bảng.
Cấu hình thành viên đơn giản
Nếu trang web của bạn chưa được cấu hình để sử dụng hệ thống thành viên đơn giản của ASP.NET Web Pages, bạn có thể gặp lỗi khi sử dụng đối tượng WebSecurity.
Nếu cấu hình của nhà cung cấp dịch vụ không đồng nhất với máy chủ cục bộ của bạn, sẽ xảy ra lỗi. Để giải quyết vấn đề này, hãy thêm các yếu tố sau vào tệp Web.config của trang web:
<appSettings> <add key="enableSimpleMembership" value="true" /> </appSettings>
- Trang trước Lớp WebPages
- Trang tiếp theo Cơ sở dữ liệu WebPages