예제 #1
0
        /// <summary>
        /// 查询用来展示的单点登录池
        /// </summary>
        /// <param name="poolId"></param>
        /// <returns></returns>
        public SSOPoolDisplayModel GetDisplayModel(int poolId)
        {
            ISSOPoolDal ssoPoolDal = new SSOPoolDal();
            var ssoPool = ssoPoolDal.GetEntity(poolId);

            SSOPoolDisplayModel displayModel = new SSOPoolDisplayModel()
            {
                PoolId = ssoPool.PoolId,
                PoolName = ssoPool.PoolName,
                IsEnabled = ssoPool.IsEnabled,
                MaxAmount = ssoPool.MaxAmount,
                MainDomainId = ssoPool.MainDomainId,
                DelFlag = ssoPool.DelFlag,
                ReMark = ssoPool.ReMark,
                Domains = new List<Domain>()
            };
            if (ssoPool != null)
            {
                IDomainDal domainDal = new DomainDal();
                var domainList = domainDal.GetPoolDomain(poolId);
                if (domainList != null)
                {
                    displayModel.Domains = domainList;
                }
            }
            return displayModel;
        }
예제 #2
0
 /// <summary>
 /// 查询某个池子下的所有域
 /// </summary>
 /// <param name="poolId"></param>
 /// <returns></returns>
 public List<Domain> GetPoolDomain(int poolId)
 {
     List<Domain> domainList = new List<Domain>();
     IDomainDal domainDal = new DomainDal();
     domainList = domainDal.GetPoolDomain(poolId);
     return domainList;
 }
예제 #3
0
        /// <summary>
        /// 修改单点登录池
        /// </summary>
        /// <param name="model"></param>
        /// <returns></returns>
        public JsonModel<string> EditSSOPool(SSOPoolEditModel model)
        {
            JsonModel<string> jsonModel = new JsonModel<string>()
            {
                Success = false,
                SuccessMsg = "修改成功",
                ErrMsg = "修改失败"
            };

            //对实体进行验证
            var validate = DotNet.Utils.DataValidate.ValidateHelper<SSOPoolEditModel>.ValidateModel(model);
            if (!validate.Pass)
            {
                jsonModel.ErrMsg = validate.ResultList.FirstOrDefault().ErrorMessage;
                return jsonModel;
            }
            //字符过滤
            model.ReMark = DotNet.Utils.Untility.StringHelper.FilterHtml(model.ReMark);
            IDomainDal domainDal = new DomainDal();
            //检测选择的主要验证域是否正确
            if (model.MainDomainId > 0)
            {
                var domain = domainDal.GetEntity(model.MainDomainId);
                if (domain == null || domain.SSOPoolPoolId != model.PoolId)
                {
                    jsonModel.ErrMsg = "您选择的主要验证域不正确";
                    return jsonModel;
                }
            }
            //查看最大的域数量是否超出限制
            var poolDomainCount = domainDal.GetPoolDomain(model.PoolId).Count;
            if (poolDomainCount > model.MaxAmount)
            {
                jsonModel.ErrMsg = string.Format("您输入的最大域数量不正确,应大于{0}", poolDomainCount);
                return jsonModel;
            }

            ISSOPoolDal ssoPoolDal = new SSOPoolDal();
            var dbPool = ssoPoolDal.GetEntity(model.PoolId);
            if (dbPool != null)
            {
                dbPool.PoolName = model.PoolName;
                dbPool.MainDomainId = model.MainDomainId;
                dbPool.IsEnabled = model.IsEnabled;
                dbPool.MaxAmount = model.MaxAmount;
                dbPool.ReMark = model.ReMark;
            }
            var r = ssoPoolDal.UpdateEntity(dbPool);
            if (r != null && r.PoolId > 0)
            {
                jsonModel.Success = true;
            }

            return jsonModel;
        }