Enter your keyword

Menu

Recent

Custom Membership Providers in ASP.NET MVC

Membership provider ASP.NET là một tính năng cho phép các lập trình viên ASP.NET tạo ra các trang Web cho phép người dùng tạo tên người dùng và mật khẩu duy nhất. Với phương tiện này, bất kỳ người dùng nào cũng có thể thiết lập một tài khoản với trang web và đăng nhập để truy cập độc quyền vào trang web và các dịch vụ của nó. Điều này tương phản với bảo mật Windows, yêu cầu người dùng phải có tài khoản trong một miền của Windows. Thay vào đó, bất kỳ người dùng cung cấp chứng thực tài khoản của họ (tên người dùng / mật khẩu) có thể sử dụng trang web và dịch vụ của mình. Để định cấu hình nhà cung cấp thành viên Trong tệp Web.config, dưới phần tử, tạo một . Dưới phần tử, hãy tạo một . Thêm một .
Dưới phần tử , tạo ra một phần tử < add> gồm các thuộc tính: 
name, type, connectionStringName, applicationName, enablePasswordRetrieval, enablePasswordReset, requiresQuestionAndAnswer, requiresUniqueEmail, và passwordFormat. Các tên thuộc tính được sử dụng như một giá trị trong file cấu hình. Ví dụ sau thiết lập một class SqlMembershipProvider.
Ví dụ sau cấu hình file webconfig:


    
    


 
    
      
      
    
  


Tiếp theo tạo ra một lớp mở rộng MembershipProvider. Trong thư mục Models,tạo ra một lớp được gọi là CustomMembershipProvider. Lớp này sẽ mở rộng abstract MembershipProvider.

Nhấn bóng đèn để tự động tạo ra các phương thức riêng của membership 
public class CustomMembershipProvider : MembershipProvider
{   
    public override MembershipUser CreateUser(string username, 
       string password, string email, string passwordQuestion, 
       string passwordAnswer, bool isApproved, 
       object providerUserKey, out MembershipCreateStatus status)
    {
        throw new NotImplementedException();
    }

    public override MembershipUser GetUser(string username, bool userIsOnline)
    {
        throw new NotImplementedException();
    }

    public override bool ValidateUser(string username, string password)
        {
            return new AccountModel().Login(username, password);
        }

    public override int MinRequiredPasswordLength
    {
        get { throw new NotImplementedException(); }
    }

    public override bool RequiresUniqueEmail
    {
        get { throw new NotImplementedException(); }
    }
}
Sử dụng một hay một số phương thức trong class để phục vụ cho Controller Login (ví dụ ValidateUser để check tài khoản đăng nhập, nếu đúng chuyển vào Home, sai thì thông báo cho người dùng):
public ActionResult Index(LoginModel model)
        {
            if (Membership.ValidateUser(model.username,model.pass) && ModelState.IsValid)
            {
                FormsAuthentication.SetAuthCookie(model.username, model.rememberMe);
                return RedirectToAction("Index", "Home");
               
            }else
            {
                ModelState.AddModelError("", "username or password incorrect!!!");
            }
            return View(model);
        }
MembershipProvider khá tối ưu cho việc xác thực (authentication), khá đơn giản để thực hiện.
Chúc bạn thành công!!!
Custom Membership Providers in ASP.NET MVC Custom Membership Providers in ASP.NET MVC Reviewed by Duy Nguyễn on 1/02/2018 Rating: 5

Không có nhận xét nào: