Advertisement
Guest User

Untitled

a guest
Jan 23rd, 2016
82
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 5.41 KB | None | 0 0
  1. using System;
  2. using System.Collections.Generic;
  3. using System.Linq;
  4. using System.Web;
  5. using CustomRoleProviderApp;
  6. using Models;
  7. using System.Web.Security;
  8.  
  9. namespace CustomRoleProviderApp.Providers
  10. {
  11. public class CustomRoleProvider : RoleProvider
  12. {
  13. public override string[] GetRolesForUser(string username)
  14. {
  15. string[] role = new string[] { };
  16. using (PracticeDB db = new PracticeDB())
  17. {
  18. // Получаем пользователя
  19. Users user = db.Users.FirstOrDefault(u => u.Name == username);
  20. if (user != null)
  21. {
  22. // получаем роль
  23. Models.Roles userRole = db.Roles.Find(user.RoleID);
  24. if (userRole != null)
  25. role = new string[] { userRole.RoleName };
  26. }
  27. }
  28. return role;
  29. }
  30. public override void CreateRole(string roleName)
  31. {
  32. Models.Roles newRole = new Models.Roles() { RoleName = roleName };
  33. PracticeDB db = new PracticeDB();
  34. db.Roles.Add(newRole);
  35. db.SaveChanges();
  36. }
  37. public override bool IsUserInRole(string username, string roleName)
  38. {
  39. bool outputResult = false;
  40. // Находим пользователя
  41. using (PracticeDB db = new PracticeDB())
  42. {
  43. // Получаем пользователя
  44. Users user = db.Users.FirstOrDefault(u => u.Name == username);
  45. if (user != null)
  46. {
  47. // получаем роль
  48. Models.Roles userRole = db.Roles.Find(user.RoleID);
  49. //сравниваем
  50. if (userRole != null && userRole.RoleName == roleName)
  51. outputResult = true;
  52. }
  53. }
  54. return outputResult;
  55. }
  56. public override void AddUsersToRoles(string[] usernames, string[] roleNames)
  57. {
  58. throw new NotImplementedException();
  59. }
  60.  
  61. public override string ApplicationName
  62. {
  63. get { throw new NotImplementedException(); }
  64. set { throw new NotImplementedException(); }
  65. }
  66.  
  67. public override bool DeleteRole(string roleName, bool throwOnPopulatedRole)
  68. {
  69. throw new NotImplementedException();
  70. }
  71.  
  72. public override string[] FindUsersInRole(string roleName, string usernameToMatch)
  73. {
  74. throw new NotImplementedException();
  75. }
  76.  
  77. public override string[] GetAllRoles()
  78. {
  79. throw new NotImplementedException();
  80. }
  81.  
  82. public override string[] GetUsersInRole(string roleName)
  83. {
  84. throw new NotImplementedException();
  85. }
  86.  
  87. public override void RemoveUsersFromRoles(string[] usernames, string[] roleNames)
  88. {
  89. throw new NotImplementedException();
  90. }
  91.  
  92. public override bool RoleExists(string roleName)
  93. {
  94. throw new NotImplementedException();
  95. }
  96. }
  97. }
  98.  
  99. using System;
  100. using System.Collections.Generic;
  101. using System.Linq;
  102. using System.Web;
  103. using System.Web.Security;
  104. using System.ComponentModel.DataAnnotations;
  105. using System.Data.Entity;
  106. namespace Models
  107. {
  108. public partial class Roles
  109. {
  110. [System.Diagnostics.CodeAnalysis.SuppressMessage("Microsoft.Usage", "CA2214:DoNotCallOverridableMethodsInConstructors")]
  111. public Roles()
  112. {
  113. this.Users = new HashSet<Users>();
  114. }
  115.  
  116. public int RoleID { get; set; }
  117. public string RoleName { get; set; }
  118.  
  119. [System.Diagnostics.CodeAnalysis.SuppressMessage("Microsoft.Usage", "CA2227:CollectionPropertiesShouldBeReadOnly")]
  120. public virtual ICollection<Users> Users { get; set; }
  121. }
  122. public class UserDBRoles : DropCreateDatabaseAlways<PracticeDB>
  123. {
  124. protected override void Seed(PracticeDB db)
  125. {
  126. db.Roles.Add(new Roles { RoleID = 1, RoleName = "Admin" });
  127. db.Roles.Add(new Roles { RoleID = 2, RoleName = "User" });
  128. db.Users.Add(new Users
  129. {
  130. UserID= 3,
  131. Name = "Admin",
  132. Password = "123456",
  133. FirstName = "Admin",
  134. LastName = "Adminov",
  135. MiddleName = "Adminovich",
  136. Email = "administratorya@gamil.com",
  137. RoleID = 1
  138. });
  139. base.Seed(db);
  140. }
  141. }
  142. }
  143.  
  144. using System;
  145. using System.Collections.Generic;
  146. using System.Data.Entity;
  147. using System.Linq;
  148. using System.Web;
  149. using System.Web.Mvc;
  150. using System.Web.Routing;
  151.  
  152. namespace Models
  153. {
  154. public class MvcApplication : System.Web.HttpApplication
  155. {
  156. protected void Application_Start()
  157. {
  158. AreaRegistration.RegisterAllAreas();
  159. RouteConfig.RegisterRoutes(RouteTable.Routes);
  160. Database.SetInitializer(new UserDBRoles());
  161. }
  162. }
  163. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement