Esempio n. 1
0
        /// <summary>
        /// 增加DBS节点
        /// </summary>
        /// <param name="define">DBS节点定义</param>
        public S_D_DBS AddChild(S_T_DBSDefine define)
        {
            var user  = FormulaHelper.GetUserInfo();
            var child = new S_D_DBS();

            child.ID                = FormulaHelper.CreateGuid();
            child.DBSCode           = define.DBSCode;
            child.Name              = define.Name;
            child.DBSType           = define.DBSType;
            child.MappingNodeUrl    = define.MappingNodeUrl;
            child.MappingType       = define.MappingType;
            child.CreateDate        = DateTime.Now;
            child.CreateUserID      = user.UserID;
            child.CreateUser        = user.UserName;
            child.InheritAuth       = define.InheritAuth;
            child.ParentID          = this.ID;
            child.FullID            = this.FullID + "." + child.ID;
            child.ProjectInfoID     = this.ProjectInfoID;
            child.S_I_ProjectInfo   = this.S_I_ProjectInfo;
            child.ConfigDBSID       = define.ID;
            child.ArchiveFolder     = define.ArchiveFolder;
            child.ArchiveFolderName = define.ArchiveFolderName;
            this.S_I_ProjectInfo.S_D_DBS.Add(child);
            foreach (var item in define.S_T_DBSSecurity.ToList())
            {
                var sec = new S_D_DBSSecurity();
                sec.ID          = FormulaHelper.CreateGuid();
                sec.RoleCode    = item.RoleCode;
                sec.RoleName    = item.RoleName;
                sec.AuthType    = item.AuthType;
                sec.RelateValue = "";
                child.S_D_DBSSecurity.Add(sec);
            }
            return(child);
        }
Esempio n. 2
0
        /// <summary>
        /// 集成指定目录的权限
        /// </summary>
        /// <param name="dbs">指定的DBS目录</param>
        public void InheritNodeAuth(S_D_DBS dbs)
        {
            var entities = FormulaHelper.GetEntities <ProjectEntities>();

            entities.S_D_DBSSecurity.Delete(d => d.DBSID == this.ID);
            foreach (var security in dbs.S_D_DBSSecurity.ToList())
            {
                var sec = new S_D_DBSSecurity();
                sec.ID          = FormulaHelper.CreateGuid();
                sec.RoleCode    = security.RoleCode;
                sec.RoleName    = security.RoleName;
                sec.AuthType    = security.AuthType;
                sec.RelateValue = security.RelateValue;
                sec.RoleType    = security.RoleType;
                sec.DBSID       = this.ID;
                this.S_D_DBSSecurity.Add(sec);
                sec.S_D_DBS = this;
            }
            this.InheritAuth = true.ToString();
        }
Esempio n. 3
0
        /// <summary>
        /// 根据角色来设置DBS对象的权限
        /// </summary>
        /// <param name="roleCode">角色编码</param>
        /// <param name="roleName">角色名称</param>
        /// <param name="authType">权限类别</param>
        public void SetAuth(string roleCode, string roleName, string authType, string roleType)
        {
            var security = this.S_D_DBSSecurity.FirstOrDefault(d => d.RoleCode == roleCode);

            if (security == null)
            {
                security          = new S_D_DBSSecurity();
                security.ID       = FormulaHelper.CreateGuid();
                security.RoleCode = roleCode;
                security.RoleName = roleName;
                security.RoleType = roleType;
                this.S_D_DBSSecurity.Add(security);
            }
            security.AuthType = authType;
            this.InheritAuth  = false.ToString();
            foreach (var child in this.AllChildren.Where(d => d.InheritAuth == true.ToString()).ToList())
            {
                child.InheritNodeAuth(this);
            }
        }