コード例 #1
0
        public ActionResult AddClaimMapping()
        {
            // TODO: sanitize input and add AntiForgeryToken
            var incomingClaimType = this.Request.Form["IncomingClaimType"];
            var incomingValue     = this.Request.Form["IncomingValue"];
            var roleName          = this.Request.Form["NewRole"];
            var organization      = ClaimHelper.GetCurrentUserClaim(Fabrikam.ClaimTypes.Organization).Value;

            var claimMappingsRepository = new ClaimMappingRepository();
            var role = claimMappingsRepository.GetRoleByName(roleName);

            if (this.ValidateClaimMapping(incomingClaimType, incomingValue, role, organization, claimMappingsRepository))
            {
                claimMappingsRepository.SaveClaimMapping(
                    new ClaimMapping
                {
                    IncomingClaimType = incomingClaimType,
                    IncomingValue     = incomingValue,
                    OutputRole        = role,
                    Organization      = organization
                });
            }

            return(this.ClaimMappings());
        }