Membership Role Provider phần 4


Phần này là  phần quan trọng mình sẽ hướng dẫn Custom Membership Role Provider using Entity Frawork (edmx).
Mình đã hướng dẫn các bạn sử dụng Membership Role Provider mặc định của AspNet.Identity do nhược điểm điều chỉnh khá phức tạp và không thể sử dụng Entity Framwork nên mình viết bài này.
Đây cũng là hướng mình thường sử dụng để làm phần mềm hoặc code.

Trước hết các bạn xem cấu trúc của database



Các bạn có thể tải file database.sql ở đây: INIVN.sql

Lưu ý các bảng khi sử dụng Entity Framework không được sử dụng các bảng như Application, System....  các từ khóa của thư viện hệ thống vì khi tạo các bản này Entity Framework sẽ sinh ra các lớp này sẽ  phát sinh lỗi mà các bạn sẽ không biết thể xác định.


Trong project bạn tạo thư mục SecurityINI


Tạo các class:


INIVNWMembership.cs

INIVNWRole.cs
INIVNSecurity.cs
INIVNWProfile.cs





Trong Class
INIVNWMembership.cs

Kế thừa MembershipProvider đây là  abstract sẽ tạo ra các phương thức mặc định override sau: ApplicationName, EnablePasswordReset, EnablePasswordRetrieval,

MaxInvalidPasswordAttempts, MinRequiredNonAlphanumericCharacters....

Trong Class


INIVNWRole.cs

Kế thừa RoleProvider đây là  abstract sẽ tạo ra các phương thức mặc định override sau: 

AddUsersToRoles, CreateRole, DeleteRole, FindUsersInRole,....


INIVNSecurity.cs 

Các lớp gọi từ các lớp của INIVNWMembership.cs và  INIVNWRole.cs

Các bạn có thể tham khảo code codefirstmembership


Link:

https://codefirstmembership.codeplex.com/releases/view/80414

Mình đã chuyển sang và sử dụng Entity Framework thành file  SecurityINI.zip


Các bạn có thể cấu hình vào file Web.config kết thừa membership của asp.net
trong thẻ  system.web

 <profile defaultProvider="DefaultProfileProvider">
      <providers>
        <add name="DefaultProfileProvider" type="System.Web.Providers.DefaultProfileProvider, System.Web.Providers, Version=1.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35" connectionStringName="DefaultConnection" applicationName="/" />
      </providers>
    </profile>
    <membership defaultProvider="INIVNWMembership">
      <providers>
        <add name="INIVNWMembership" type="demo8.SecurityINI.INIVNWMembership" connectionStringName="DefaultConnection" enablePasswordRetrieval="false" enablePasswordReset="true" requiresQuestionAndAnswer="false" requiresUniqueEmail="false" maxInvalidPasswordAttempts="5" minRequiredPasswordLength="6" minRequiredNonalphanumericCharacters="0" passwordAttemptWindow="10" applicationName="/" />
      </providers>
    </membership>
    <roleManager defaultProvider="INIVNWRole">
      <providers>
        <add name="INIVNWRole" type="demo8.SecurityINI.INIVNWRole" connectionStringName="DefaultConnection" applicationName="/" />
      </providers>

    </roleManager>

Các bạn cấu hình vào mục Name và type.







Share To:

laptrinhvien

Post A Comment:

0 comments so far,add yours