Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- public class CustomMembership : SimpleMembershipProvider
- {
- public override bool ValidateUser(string username, string password)
- {
- if (string.IsNullOrWhiteSpace(username) || string.IsNullOrWhiteSpace(password))
- return false;
- using (var context = new Entities()) // Entities is your Context
- {
- string encryptedPassword = Encrypt(password); // Encryt is used for comparing the entered password with the encrypted password stored in db
- var item = context.Users.Where(t => t.UserName.ToLower() == username.ToLower()
- && t.Password == encryptedPassword
- && t.IsActive).FirstOrDefault();
- return item != null;
- }
- }
- }
- public class CustomRoleManager : SimpleRoleProvider
- {
- public override bool IsUserInRole(string username, string roleName)
- {
- using (var context = new Entities())
- {
- var result = context.UserRoles.FirstOrDefault(t => t.Role.Name == roleName
- && t.User.UserName.ToLower() == username.ToLower()
- && t.User.IsActive);
- return result != null;
- }
- }
- public override string[] GetAllRoles()
- {
- using (var context = new Entities())
- {
- var result = context.Roles.Select(t => t.Name).ToArray();
- return result;
- }
- }
- public override string[] GetRolesForUser(string username)
- {
- using (var context = new Entities())
- {
- var result = (from ur in context.UserRoles
- join u in context.Users on ur.UserId equals u.Id
- join r in context.Roles on ur.RoleId equals r.Id
- where u.UserName.ToLower() == username.ToLower()
- && u.IsActive
- select r.Name).ToArray();
- return result;
- }
- }
- }
- <roleManager enabled="true" defaultProvider="CustomRoleManager" cacheRolesInCookie="true">
- <providers>
- <clear />
- <add name="CustomRoleManager" type="foo.WebUI.CustomRoleManager" />
- </providers>
- </roleManager>
- <membership defaultProvider="CustomMembership" userIsOnlineTimeWindow="10">
- <providers>
- <clear />
- <add name="CustomMembership" type="foo.WebUI.CustomMembership" connectionStringName="ConnectionString" enablePasswordRetrieval="false" enablePasswordReset="false" requiresQuestionAndAnswer="false" requiresUniqueEmail="false" passwordFormat="Hashed" maxInvalidPasswordAttempts="5" minRequiredPasswordLength="6" minRequiredNonalphanumericCharacters="0" passwordAttemptWindow="10" passwordStrengthRegularExpression="" applicationName="/" />
- </providers>
- </membership>
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement