| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171 |
- using System.Linq;
- using ShwasherSys.Authorization.Roles;
- using ShwasherSys.Authorization.Users;
- using ShwasherSys.EntityFramework;
- using IwbZero.Authorization.Permissions;
- using IwbZero.Authorization.Roles;
- using IwbZero.Authorization.Users;
- using Microsoft.AspNet.Identity;
- namespace ShwasherSys.Migrations.SeedData
- {
- public class DefaultRoleAndUserCreator
- {
- private readonly ShwasherDbContext _context;
- public DefaultRoleAndUserCreator(ShwasherDbContext context)
- {
- _context = context;
- }
- public void Create()
- {
- CreateAdminRoleAndUsers();
- CreateSystemRoleAndUsers();
- }
- #region Admin
- private void CreateAdminRoleAndUsers()
- {
- //Admin role for host
- var adminRole = _context.Roles.FirstOrDefault(r => r.Name == RoleBase.AdminRoleName);
- if (adminRole == null)
- {
- adminRole = _context.Roles.Add(new SysRole
- {
- Name = RoleBase.AdminRoleName,
- RoleDisplayName = RoleBase.AdminRoleDisplayName,
- IsStatic = true,
- RoleType = 1
- });
- _context.SaveChanges();
- AddRolePermission(adminRole.Id);
- }
- else
- {
- AddRolePermission(adminRole.Id);
- }
- //Admin user
- var adminUser = _context.Users.FirstOrDefault(u => u.UserName == UserBase.AdminUserName);
- if (adminUser == null)
- {
- adminUser = _context.Users.Add(
- new SysUser
- {
- UserName = UserBase.AdminUserName,
- RealName = "Administrator",
- //AccountType = 1,
- UserType = 1,
- //Surname = "Administrator",
- EmailAddress = "admin@iwbnet.com",
- IsEmailConfirmed = true,
- Password = new PasswordHasher().HashPassword(SysUser.DefaultPassword)
- });
- _context.SaveChanges();
- AddUserPermission(adminUser.Id);
- _context.UserRoles.Add(new SysUserRole(adminUser.Id, adminRole.Id));
- _context.SaveChanges();
- }
- else
- {
- AddUserPermission(adminUser.Id);
- _context.SaveChanges();
- }
- }
- private void CreateSystemRoleAndUsers()
- {
- //System role for host
- var systemRole = _context.Roles.FirstOrDefault(r => r.Name == "System");
- if (systemRole == null)
- {
- systemRole = _context.Roles.Add(new SysRole
- {
- Name = "System",
- RoleDisplayName = "System",
- IsStatic = true,
- RoleType = 2
- });
- _context.SaveChanges();
- AddRolePermission(systemRole.Id);
- }
- else
- {
- AddRolePermission(systemRole.Id);
- }
- //System user
- var systemUser = _context.Users.FirstOrDefault(u => u.UserName == "System");
- if (systemUser == null)
- {
- systemUser = _context.Users.Add(
- new SysUser
- {
- UserName = "System",
- RealName = "SystemManager",
- //Surname = "Administrator",
- //AccountType = 1,
- UserType = 2,
- EmailAddress = "System@iwbnet.com",
- IsEmailConfirmed = true,
- Password = new PasswordHasher().HashPassword("system")
- });
- _context.SaveChanges();
- _context.UserRoles.Add(new SysUserRole(systemUser.Id, systemRole.Id));
- _context.SaveChanges();
- }
- }
- /// <summary>
- /// 添加用户权限
- /// </summary>
- /// <param name="userId"></param>
- private void AddUserPermission(long userId)
- {
- var funs = _context.Functions.Where(a => a.IsDeleted == false).OrderBy(a => a.CreationTime);
- foreach (var fun in funs)
- {
- //if (_context.Permissions.FirstOrDefault(a => a.Master == 1 && a.MasterValue == userId + "") == null)
- //{
- //}
- _context.Permissions.Add(
- new SysPermission
- {
- PermissionName = fun.PermissionName,
- IsGranted = true,
- Master = 1,
- MasterValue = userId + ""
- });
- }
- _context.SaveChanges();
- }
- /// <summary>
- /// 添加角色权限
- /// </summary>
- /// <param name="roleId"></param>
- private void AddRolePermission(int roleId)
- {
- var funs = _context.Functions.Where(a => a.IsDeleted == false).OrderBy(a => a.CreationTime);
- foreach (var fun in funs)
- {
- //if (_context.Permissions.FirstOrDefault(a => a.Master == 2 && a.MasterValue == roleId + "") == null)
- //{
- //}
- _context.Permissions.Add(
- new SysPermission
- {
- PermissionName = fun.PermissionName,
- IsGranted = true,
- Master = 2,
- MasterValue = roleId + ""
- });
- }
- _context.SaveChanges();
- }
- #endregion
- }
- }
|