示例#1
0
 public void MapAGSGroupEntityToEFApplicationRole(AGSGroupEntity groupEntity, EFApplicationRole efApplicationRole)
 {
     efApplicationRole.Id               = groupEntity.Id;
     efApplicationRole.Name             = groupEntity.Name;
     efApplicationRole.NormalizedName   = groupEntity.Name;
     efApplicationRole.ConcurrencyStamp = CommonConstant.GenerateId();
 }
示例#2
0
 public void AddFunctionClaimToGroup(EFApplicationRole selected, string functionClaimId)
 {
     if (selected != null)
     {
         _ = _roleManager.AddClaimAsync(selected, new Claim(CommonConstant.FunctionClaimTypeConstant, functionClaimId)).Result;
     }
 }
示例#3
0
文件: EFDataSeed.cs 项目: ngdh32/AGS
        public void InitializeApplicationData()
        {
            // add all function claims into Database
            var ags_identity_constant_type = typeof(CommonConstant);
            var constant_fields            = ags_identity_constant_type.GetFields();

            foreach (var constant_field in constant_fields)
            {
                if (constant_field.Name.EndsWith("ClaimConstant"))
                {
                    var claimValue = (string)(constant_field.GetValue(null));
                    _applicationDbContext.FunctionClaims.Add(new EFFunctionClaim()
                    {
                        Id = CommonConstant.GenerateId(), Name = claimValue
                    });
                }
            }

            // create admin user
            var userName     = AGSAdminName;
            var email        = _configuration["default_user_email"];
            var userPassword = _configuration["default_user_password"];

            var user = new EFApplicationUser
            {
                Id                 = CommonConstant.GenerateId(),
                UserName           = userName,
                NormalizedEmail    = email,
                NormalizedUserName = userName,
                Email              = email,
                First_Name         = "Tim",
                Last_Name          = "Ng",
                Title              = "Developer",
                SecurityStamp      = CommonConstant.GenerateId(), // need to add this !!!
            };

            _ = _userManager.CreateAsync(user, userPassword).Result;


            var group1 = new EFApplicationRole
            {
                Id               = CommonConstant.GenerateId(),
                Name             = "Group_1_Test",
                NormalizedName   = "Group_1_Test",
                ConcurrencyStamp = CommonConstant.GenerateId()
            };
            var group2 = new EFApplicationRole
            {
                Id               = CommonConstant.GenerateId(),
                Name             = "Group_2_Test",
                NormalizedName   = "Group_2_Test",
                ConcurrencyStamp = CommonConstant.GenerateId()
            };

            _ = _roleManager.CreateAsync(group1).Result;
            _ = _roleManager.CreateAsync(group2).Result;
            _applicationDbContext.SaveChanges();
        }
示例#4
0
        public AGSGroupEntity GetAGSGroupEntityFromEFApplicationRole(EFApplicationRole role)
        {
            var result = new AGSGroupEntity()
            {
                Id               = role.Id,
                Name             = role.Name,
                FunctionClaimIds = new List <string>()
            };

            var functionClaimIds = this.GetFunctionClaimIdsByGroupId(role.Id);

            if (functionClaimIds != null)
            {
                result.FunctionClaimIds = functionClaimIds;
            }

            return(result);
        }
示例#5
0
        public string Create(AGSGroupEntity group)
        {
            // create a new role in ASP.NET identity core
            var role = new EFApplicationRole();

            MapAGSGroupEntityToEFApplicationRole(group, role);
            role.Id = CommonConstant.GenerateId(); // assign id here
            _       = _roleManager.CreateAsync(role).Result;

            // update the associated Function Claims
            if (group.FunctionClaimIds != null)
            {
                foreach (var functionClaimId in group.FunctionClaimIds)
                {
                    this.AddFunctionClaimToGroup(role, functionClaimId);
                }
            }

            return(role.Id);
        }