/// <summary>
        /// 添加成员
        /// </summary>
        /// <param name="authorizeType">权限分类</param>
        /// <param name="objectId">对象Id</param>
        /// <param name="userIds">成员Id</param>
        public void SaveMember(AuthorizeTypeEnum authorizeType, string objectId, string[] userIds)
        {
            //先清除历史用户关系数据
            int isSucc = o.BllSession.UserRelationBll.Delete(u => u.ObjectId.Equals(objectId) && u.IsDefault == false);

            if (isSucc > 0)
            {
                //组装数据
                List <UserRelationEntity> list = new List <UserRelationEntity>();
                for (int i = 1; i <= userIds.Length; i++)
                {
                    UserRelationEntity userRelationEntity = new UserRelationEntity
                    {
                        Category = (int)authorizeType,
                        ObjectId = objectId,
                        UserId   = userIds[i - 1],
                        SortCode = i
                    };
                    userRelationEntity.Create();

                    list.Add(userRelationEntity);
                }

                //批量保存
                o.BllSession.UserRelationBll.Insert(list);
            }
        }
Exemple #2
0
 /// <summary>
 /// 添加成员
 /// </summary>
 /// <param name="authorizeType">权限分类</param>
 /// <param name="objectId">对象Id</param>
 /// <param name="userIds">成员Id</param>
 public void SaveMember(AuthorizeTypeEnum authorizeType, string objectId, string[] userIds)
 {
     try
     {
         using (var tran = QSDMS_SQLDB.GetInstance().GetTransaction())
         {
             Base_UserRelation.Delete("where ObjectId=@0 and IsDefault=0", objectId);
             int SortCode = 1;
             foreach (string item in userIds)
             {
                 UserRelationEntity userRelationEntity = new UserRelationEntity();
                 userRelationEntity.Create();
                 userRelationEntity.Category = (int)authorizeType;
                 userRelationEntity.ObjectId = objectId;
                 userRelationEntity.UserId   = item;
                 userRelationEntity.SortCode = SortCode++;
                 Base_UserRelation userrelation = EntityConvertTools.CopyToModel <UserRelationEntity, Base_UserRelation>(userRelationEntity, null);
                 userrelation.Insert();
             }
             tran.Complete();
         }
     }
     catch (Exception)
     {
         throw;
     }
 }
Exemple #3
0
        /// <summary>
        /// 添加成员
        /// </summary>
        /// <param name="authorizeType">权限分类</param>
        /// <param name="objectId">对象Id</param>
        /// <param name="userIds">成员Id</param>
        public void SaveMember(AuthorizeTypeEnum authorizeType, string objectId, string[] userIds)
        {
            //先清除历史用户关系数据
            int isSucc = this.BaseRepository().Delete <UserRelationEntity>(u => u.ObjectId == objectId && u.IsDefault == false);

            if (isSucc > 0)
            {
                //组装数据
                List <UserRelationEntity> list = new List <UserRelationEntity>();
                for (int i = 1; i <= userIds.Length; i++)
                {
                    UserRelationEntity userRelationEntity = new UserRelationEntity
                    {
                        Category = (int)authorizeType,
                        ObjectId = objectId,
                        UserId   = userIds[i - 1],
                        SortCode = i
                    };
                    userRelationEntity.Create();

                    list.Add(userRelationEntity);
                }

                //批量保存
                int res = this.BaseRepository().Insert(list);
            }
        }
Exemple #4
0
        /// <summary>
        /// 保存授权
        /// </summary>
        /// <param name="authorizeType">权限分类</param>
        /// <param name="objectId">对象Id</param>
        /// <param name="moduleIds">功能Id</param>
        /// <param name="moduleButtonIds">按钮Id</param>
        /// <param name="moduleColumnIds">视图Id</param>
        /// <param name="authorizeDataJson">数据权限</param>
        /// <returns></returns>
        public void SaveAuthorize(AuthorizeTypeEnum authorizeType, string objectId, string moduleIds, string moduleButtonIds, string moduleColumnIds, string authorizeDataJson)
        {
            try
            {
                string[] arrayModuleId = null;
                if (!string.IsNullOrEmpty(moduleIds))
                {
                    arrayModuleId = moduleIds.Split(',');
                }
                string[] arrayModuleButtonId = null;
                if (!string.IsNullOrEmpty(moduleButtonIds))
                {
                    arrayModuleButtonId = moduleButtonIds.Split(',');
                }
                string[] arrayModuleColumnId = null;
                if (!string.IsNullOrEmpty(moduleColumnIds))
                {
                    arrayModuleColumnId = moduleColumnIds.Split(',');
                }
                IEnumerable <AuthorizeDataEntity> authorizeDataList = authorizeDataJson.ToList <AuthorizeDataEntity>();
                service.SaveAuthorize(authorizeType, objectId, arrayModuleId, arrayModuleButtonId, arrayModuleColumnId, authorizeDataList);

                // 删除缓存
                CacheFactory.Cache().RemoveCache("AuthorizeUrl_" + objectId);
            }
            catch (Exception)
            {
                throw;
            }
        }
        public ActionResult SaveAuthorize(int authorizeType, string objectId, string moduleIds, string moduleButtonIds, string moduleColumnIds, string authorizeDataJson)
        {
            AuthorizeTypeEnum type = AuthorizeTypeEnum.Role;

            switch (authorizeType)
            {
            case 1:
                type = AuthorizeTypeEnum.Department;
                break;

            case 3:
                type = AuthorizeTypeEnum.Post;
                break;

            case 4:
                type = AuthorizeTypeEnum.Job;
                break;

            case 5:
                type = AuthorizeTypeEnum.User;
                break;

            case 6:
                type = AuthorizeTypeEnum.UserGroup;
                break;
            }
            permissionBLL.SaveAuthorize(type, objectId, moduleIds, moduleButtonIds.TrimEnd(','), moduleColumnIds.TrimEnd(','), authorizeDataJson);
            return(Success("保存成功。"));
        }
Exemple #6
0
        /// <summary>
        /// 添加成员
        /// </summary>
        /// <param name="authorizeType">权限分类</param>
        /// <param name="objectId">对象Id</param>
        /// <param name="userIds">成员Id</param>
        public void SaveMember(AuthorizeTypeEnum authorizeType, string objectId, string[] userIds)
        {
            IRepository db = new RepositoryFactory().BaseRepository().BeginTrans();

            try
            {
                db.Delete <UserRelationEntity>(t => t.ObjectId == objectId && t.IsDefault == 0);
                int SortCode = 1;
                foreach (string item in userIds)
                {
                    UserRelationEntity userRelationEntity = new UserRelationEntity();
                    userRelationEntity.Create();
                    userRelationEntity.Category = (int)authorizeType;
                    userRelationEntity.ObjectId = objectId;
                    userRelationEntity.UserId   = item;
                    userRelationEntity.SortCode = SortCode++;
                    db.Insert(userRelationEntity);
                }
                db.Commit();
            }
            catch (Exception)
            {
                db.Rollback();
                throw;
            }
        }
        /// <summary>
        /// 添加授权
        /// </summary>
        /// <param name="authorizeType">权限分类</param>
        /// <param name="objectId">对象Id</param>
        /// <param name="moduleIds">功能Id</param>
        /// <param name="moduleButtonIds">按钮Id</param>
        /// <param name="moduleColumnIds">视图Id</param>
        /// <param name="authorizeDataList">数据权限</param>
        public void SaveAuthorize(AuthorizeTypeEnum authorizeType, string objectId, string[] moduleIds, string[] moduleButtonIds, string[] moduleColumnIds, IEnumerable <AuthorizeDataEntity> authorizeDataList)
        {
            IRepository db = new RepositoryFactory().BaseRepository().BeginTrans();

            try
            {
                #region 功能
                int SortCode = 1;
                db.Delete <AuthorizeEntity>(t => t.ObjectId == objectId);
                if (moduleIds.Length > 0)
                {
                    foreach (string item in moduleIds)
                    {
                        AuthorizeEntity authorizeEntity = new AuthorizeEntity();
                        authorizeEntity.Create();
                        authorizeEntity.Category = (int)authorizeType;
                        authorizeEntity.ObjectId = objectId;
                        authorizeEntity.ItemType = 1;
                        authorizeEntity.ItemId   = item;
                        authorizeEntity.SortCode = SortCode++;
                        db.Insert(authorizeEntity);
                    }
                }
                else
                {
                    db.Delete <AuthorizeDataEntity>(objectId, "ObjectId");
                }
                #endregion

                if (moduleColumnIds.Length > 0)
                {
                    foreach (string mId in moduleColumnIds)
                    {
                        #region 数据权限
                        SortCode = 1;
                        int index = 0;
                        db.ExecuteBySql(string.Format("delete from BASE_AUTHORIZEDATA where ObjectId='{0}' and resourceid='{1}'", objectId, mId));
                        foreach (AuthorizeDataEntity authorizeDataEntity in authorizeDataList)
                        {
                            authorizeDataEntity.Create();
                            authorizeDataEntity.Category   = (int)authorizeType;
                            authorizeDataEntity.ObjectId   = objectId;
                            authorizeDataEntity.ResourceId = mId;
                            // authorizeDataEntity.Module = "Department";
                            authorizeDataEntity.SortCode = SortCode++;
                            db.Insert(authorizeDataEntity);
                            index++;
                        }
                        #endregion
                    }
                }
                db.Commit();
            }
            catch (Exception)
            {
                db.Rollback();
                throw;
            }
        }
 /// <summary>
 /// Constructor of <see cref="MilvaSecurityTestInjectAttribute"/>.
 /// </summary>
 /// <param name="url"></param>
 /// <param name="httpMethod"></param>
 /// <param name="acceptedRoles"></param>
 /// <param name="authorizeTypeEnum"></param>
 /// <param name="obkInlineDataEnum"></param>
 public MilvaSecurityTestInjectAttribute(string url, string httpMethod, string acceptedRoles, AuthorizeTypeEnum authorizeTypeEnum = AuthorizeTypeEnum.Or, UrlTypeEnum obkInlineDataEnum = UrlTypeEnum.InController)
 {
     _url               = url;
     _httpMethod        = new HttpMethod(httpMethod);
     _obkInlineDataEnum = obkInlineDataEnum;
     _authorizeTypeEnum = authorizeTypeEnum;
     _acceptedRoles     = string.IsNullOrWhiteSpace(acceptedRoles) ? new List <string>() : acceptedRoles.Split(',').ToList();
 }
Exemple #9
0
 /// <summary>
 /// 添加成员
 /// </summary>
 /// <param name="authorizeType">权限分类</param>
 /// <param name="objectId">对象Id</param>
 /// <param name="userIds">成员Id:1,2,3,4</param>
 public void SaveMember(AuthorizeTypeEnum authorizeType, string objectId, string userIds)
 {
     try
     {
         string[] arrayUserId = userIds.Split(',');
         service.SaveMember(authorizeType, objectId, arrayUserId);
     }
     catch (Exception)
     {
         throw;
     }
 }
Exemple #10
0
        /// <summary>
        /// 添加授权
        /// </summary>
        /// <param name="authorizeType">权限分类</param>
        /// <param name="objectId">对象Id</param>
        /// <param name="moduleIds">功能Id</param>
        /// <param name="moduleButtonIds">按钮Id</param>
        /// <param name="moduleColumnIds">视图Id</param>
        /// <param name="authorizeDataJson">数据权限</param>
        public void SaveAuthorize(AuthorizeTypeEnum authorizeType, string objectId, string moduleIds, string moduleButtonIds, string moduleColumnIds, string authorizeDataJson)
        {
            List <AuthorizeDataEntity> authorize = new List <AuthorizeDataEntity>();

            if (!string.IsNullOrEmpty(authorizeDataJson))
            {
                authorize = authorizeDataJson.JsonToList <AuthorizeDataEntity>();
            }
            string[] arrayModuleId       = moduleIds.Split(',');
            string[] arrayModuleButtonId = moduleButtonIds.Split(',');
            string[] arrayModuleColumnId = moduleColumnIds.Split(',');

            permissionService.SaveAuthorize(authorizeType, objectId, arrayModuleId, arrayModuleButtonId, arrayModuleColumnId, authorize);
        }
Exemple #11
0
        /// <summary>
        /// 添加成员
        /// </summary>
        /// <param name="authorizeType">权限分类</param>
        /// <param name="objectId">对象Id</param>
        /// <param name="userIds">成员Id:1,2,3,4</param>
        public void SaveMember(AuthorizeTypeEnum authorizeType, string objectId, string userIds, string deleteUserIds)
        {
            try
            {
                string[] arrayUserId        = userIds.Split(new string[] { "," }, StringSplitOptions.RemoveEmptyEntries);
                string[] arraydeleteUserIds = deleteUserIds.Split(new string[] { "," }, StringSplitOptions.RemoveEmptyEntries);

                service.SaveMember(authorizeType, objectId, arrayUserId, arraydeleteUserIds);
            }
            catch (Exception)
            {
                throw;
            }
        }
Exemple #12
0
 /// <summary>
 /// 保存授权
 /// </summary>
 /// <param name="authorizeType">权限分类</param>
 /// <param name="objectId">对象Id</param>
 /// <param name="moduleIds">功能Id</param>
 /// <param name="moduleButtonIds">按钮Id</param>
 /// <param name="moduleColumnIds">视图Id</param>
 /// <param name="authorizeDataJson">数据权限</param>
 /// <returns></returns>
 public void SaveAuthorize(AuthorizeTypeEnum authorizeType, string objectId, string moduleIds, string moduleButtonIds, string moduleColumnIds, string authorizeDataJson)
 {
     try
     {
         string[] arrayModuleId       = moduleIds.Split(',');
         string[] arrayModuleButtonId = moduleButtonIds.Split(',');
         string[] arrayModuleColumnId = moduleColumnIds.Split(',');
         IEnumerable <AuthorizeDataEntity> authorizeDataList = authorizeDataJson.ToList <AuthorizeDataEntity>();
         service.SaveAuthorize(authorizeType, objectId, arrayModuleId, arrayModuleButtonId, arrayModuleColumnId, authorizeDataList);
     }
     catch (Exception)
     {
         throw;
     }
 }
Exemple #13
0
 /// <summary>
 /// 添加成员
 /// </summary>
 /// <param name="authorizeType">权限分类</param>
 /// <param name="objectId">对象Id</param>
 /// <param name="userIds">成员Id:1,2,3,4</param>
 public void SaveMember(AuthorizeTypeEnum authorizeType, string objectId, string userIds)
 {
     try
     {
         string[] arrayUserId = null;
         if (!string.IsNullOrEmpty(userIds))
         {
             arrayUserId = userIds.Split(',');
         }
         service.SaveMember(authorizeType, objectId, arrayUserId);
     }
     catch (Exception)
     {
         throw;
     }
 }
Exemple #14
0
        /// <summary>
        /// 添加成员
        /// </summary>
        /// <param name="authorizeType">权限分类</param>
        /// <param name="objectId">对象Id</param>
        /// <param name="userIds">成员Id</param>
        public void SaveMember(AuthorizeTypeEnum authorizeType, string objectId, string[] userIds, string[] deleteUserIds)
        {
            List <UserRelationEntity> plist = new List <UserRelationEntity>();
            IRepository db = new RepositoryFactory().BaseRepository().BeginTrans();

            try
            {
                foreach (var item in deleteUserIds)
                {
                    var expression = LinqExtensions.True <UserRelationEntity>();
                    expression = expression.And(t => t.ObjectId == objectId && t.UserId == item);
                    db.Delete <UserRelationEntity>(expression);
                }

                int SortCode = 1;
                UserRelationEntity userRelationEntity = null;

                foreach (string item in userIds)
                {
                    userRelationEntity = new UserRelationEntity();
                    userRelationEntity.Create();
                    userRelationEntity.Category = (int)authorizeType;
                    userRelationEntity.ObjectId = objectId;
                    userRelationEntity.UserId   = item;
                    userRelationEntity.SortCode = SortCode++;
                    bool isAdded = IsAdded(item, objectId, (int)authorizeType);
                    if (!isAdded)
                    {
                        plist.Add(userRelationEntity);
                    }
                    userRelationEntity = null;
                }
                if (plist.Count > 0)
                {
                    db.Insert(plist);
                }

                db.Commit();
            }
            catch (Exception)
            {
                db.Rollback();
                throw;
            }
        }
        /// <summary>
        /// 附加扩展验证
        /// </summary>
        /// <param name="provider"></param>
        public static void AttachProvider(AuthorizeTypeEnum type, IAuthorizeProvider provider)
        {
            switch (type)
            {
            case AuthorizeTypeEnum.API:
                lock (_apiLock)
                {
                    _apiProviders.Add(provider);
                }
                break;

            case AuthorizeTypeEnum.MVC:
                lock (_mvcLock)
                {
                    _mvcProviders.Add(provider);
                }
                break;
            }
        }
Exemple #16
0
        /// <summary>
        /// 添加成员
        /// </summary>
        /// <param name="authorizeType">权限分类</param>
        /// <param name="objectId">对象Id</param>
        /// <param name="userIds">成员Id</param>
        public void SaveMember(AuthorizeTypeEnum authorizeType, string objectId, string[] userIds)
        {
            IDbTransaction tran = null;

            Logger(this.GetType(), "SaveMember-添加成员", () =>
            {
                using (var conn = this.BaseRepository().GetBaseConnection())
                {
                    tran = conn.BeginTransaction();

                    //先清除历史用户关系数据
                    int isSucc = this.BaseRepository().Delete <UserRelationEntity>(conn, u => u.ObjectId == objectId && u.IsDefault == false, tran);
                    if (isSucc > 0)
                    {
                        //组装数据
                        List <UserRelationEntity> list = new List <UserRelationEntity>();
                        int sortCode = 1;
                        foreach (string userId in userIds)
                        {
                            UserRelationEntity userRelationEntity = new UserRelationEntity
                            {
                                Category = (int)authorizeType,
                                ObjectId = objectId,
                                UserId   = userId,
                                SortCode = sortCode++
                            };
                            userRelationEntity.Create();

                            list.Add(userRelationEntity);
                        }

                        //批量保存
                        int res = this.BaseRepository().Insert(conn, list, tran);
                    }

                    tran.Commit();
                }
            }, e =>
            {
                Trace.WriteLine(e.Message);
            });
        }
        public static bool Execute(AuthorizeTypeEnum type, TokenEntity token)
        {
            List <IAuthorizeProvider> tempProviders = null;

            switch (type)
            {
            case AuthorizeTypeEnum.API:
                lock (_apiLock)
                {
                    tempProviders = _apiProviders;
                }
                break;

            case AuthorizeTypeEnum.MVC:
                lock (_mvcLock)
                {
                    tempProviders = _mvcProviders;
                }
                break;
            }

            if (tempProviders == null)
            {
                return(true);
            }

            foreach (var p in tempProviders)
            {
                if (!p.Execute(token))
                {
                    return(false);
                }
            }

            return(true);
        }
Exemple #18
0
 /// <summary>
 /// 添加成员
 /// </summary>
 /// <param name="authorizeType">权限分类</param>
 /// <param name="objectId">对象Id</param>
 /// <param name="userIds">成员Id</param>
 public void SaveMember(AuthorizeTypeEnum authorizeType, string objectId, string[] userIds)
 {
     throw new NotImplementedException();
 }
Exemple #19
0
        /// <summary>
        /// 添加授权
        /// </summary>
        /// <param name="authorizeType">权限分类</param>
        /// <param name="objectId">对象Id</param>
        /// <param name="moduleIds">功能Id</param>
        /// <param name="moduleButtonIds">按钮Id</param>
        /// <param name="moduleColumnIds">视图Id</param>
        /// <param name="authorizeDataList">数据权限</param>
        public void SaveAuthorize(AuthorizeTypeEnum authorizeType, string objectId, string[] moduleIds, string[] moduleButtonIds, string[] moduleColumnIds, IEnumerable <AuthorizeDataEntity> authorizeDataList)
        {
            IRepository db = new RepositoryFactory().BaseRepository().BeginTrans();

            try
            {
                db.Delete <AuthorizeEntity>(t => t.ObjectId == objectId);

                #region 功能
                int SortCode = 1;
                foreach (string item in moduleIds)
                {
                    AuthorizeEntity authorizeEntity = new AuthorizeEntity();
                    authorizeEntity.Create();
                    authorizeEntity.Category = (int)authorizeType;
                    authorizeEntity.ObjectId = objectId;
                    authorizeEntity.ItemType = 1;
                    authorizeEntity.ItemId   = item;
                    authorizeEntity.SortCode = SortCode++;
                    db.Insert(authorizeEntity);
                }
                #endregion

                #region  钮
                SortCode = 1;
                foreach (string item in moduleButtonIds)
                {
                    AuthorizeEntity authorizeEntity = new AuthorizeEntity();
                    authorizeEntity.Create();
                    authorizeEntity.Category = (int)authorizeType;
                    authorizeEntity.ObjectId = objectId;
                    authorizeEntity.ItemType = 2;
                    authorizeEntity.ItemId   = item;
                    authorizeEntity.SortCode = SortCode++;
                    db.Insert(authorizeEntity);
                }
                #endregion

                #region 视图
                SortCode = 1;
                foreach (string item in moduleColumnIds)
                {
                    AuthorizeEntity authorizeEntity = new AuthorizeEntity();
                    authorizeEntity.Create();
                    authorizeEntity.Category = (int)authorizeType;
                    authorizeEntity.ObjectId = objectId;
                    authorizeEntity.ItemType = 3;
                    authorizeEntity.ItemId   = item;
                    authorizeEntity.SortCode = SortCode++;
                    db.Insert(authorizeEntity);
                }
                #endregion

                #region 数据权限
                SortCode = 1;
                db.Delete <AuthorizeDataEntity>(objectId, "ObjectId");
                int index = 0;
                foreach (AuthorizeDataEntity authorizeDataEntity in authorizeDataList)
                {
                    authorizeDataEntity.Create();
                    authorizeDataEntity.Category = (int)authorizeType;
                    authorizeDataEntity.ObjectId = objectId;
                    // authorizeDataEntity.Module = "Department";
                    authorizeDataEntity.SortCode = SortCode++;
                    db.Insert(authorizeDataEntity);
                    index++;
                }
                #endregion

                db.Commit();
            }
            catch (Exception)
            {
                db.Rollback();
                throw;
            }
        }
Exemple #20
0
        /// <summary>
        /// 添加授权
        /// </summary>
        /// <param name="authorizeType">权限分类</param>
        /// <param name="objectId">对象Id</param>
        /// <param name="moduleIds">功能Id</param>
        /// <param name="moduleButtonIds">按钮Id</param>
        /// <param name="moduleColumnIds">视图Id</param>
        /// <param name="authorizeDataList">数据权限</param>
        public void SaveAuthorize(AuthorizeTypeEnum authorizeType, string objectId, string[] moduleIds, string[] moduleButtonIds,
                                  string[] moduleColumnIds, IEnumerable <AuthorizeDataEntity> authorizeDataList)
        {
            IDbTransaction tran = null;

            Logger(this.GetType(), "SaveAuthorize-添加授权", () =>
            {
                using (var conn = this.BaseRepository().GetBaseConnection())
                {
                    tran = conn.BeginTransaction();

                    //先清除历史授权数据
                    int isSucc = this.BaseRepository().Delete <AuthorizeEntity>(conn, u => u.ObjectId == objectId, tran);

                    if (isSucc >= 0)
                    {
                        #region 功能

                        List <AuthorizeEntity> authorizeMenuList = new List <AuthorizeEntity>();
                        for (int i = 1; i <= moduleIds.Length; i++)
                        {
                            AuthorizeEntity authorize = new AuthorizeEntity
                            {
                                Category = (int)authorizeType,
                                ObjectId = objectId,
                                ItemType = 1,
                                ItemId   = moduleIds[i - 1],
                                SortCode = i
                            };
                            authorize.Create();

                            authorizeMenuList.Add(authorize);
                        }
                        //保存
                        int res = this.BaseRepository().Insert(conn, authorizeMenuList, tran);

                        #endregion 功能

                        #region  钮

                        List <AuthorizeEntity> authorizeButtonList = new List <AuthorizeEntity>();
                        for (int i = 1; i <= moduleButtonIds.Length; i++)
                        {
                            AuthorizeEntity authorize = new AuthorizeEntity
                            {
                                Category = (int)authorizeType,
                                ObjectId = objectId,
                                ItemType = 2,
                                ItemId   = moduleButtonIds[i - 1],
                                SortCode = i
                            };
                            authorize.Create();

                            authorizeButtonList.Add(authorize);
                        }
                        //保存
                        res = this.BaseRepository().Insert(conn, authorizeButtonList, tran);

                        #endregion  钮

                        #region 视图

                        List <AuthorizeEntity> authorizeViewList = new List <AuthorizeEntity>();
                        for (int i = 1; i <= moduleColumnIds.Length; i++)
                        {
                            AuthorizeEntity authorize = new AuthorizeEntity
                            {
                                Category = (int)authorizeType,
                                ObjectId = objectId,
                                ItemType = 3,
                                ItemId   = moduleColumnIds[i - 1],
                                SortCode = i
                            };
                            authorize.Create();

                            authorizeViewList.Add(authorize);
                        }
                        //保存
                        res = this.BaseRepository().Insert(conn, authorizeViewList, tran);

                        #endregion 视图

                        #region 数据权限

                        //清除数据权限
                        isSucc       = this.BaseRepository().Delete <AuthorizeDataEntity>(conn, u => u.ObjectId == objectId, tran);
                        int sortCode = 1;
                        List <AuthorizeDataEntity> authorizeDataTempList = new List <AuthorizeDataEntity>();

                        foreach (AuthorizeDataEntity authorizeData in authorizeDataList)
                        {
                            authorizeData.Category = (int)authorizeType;
                            authorizeData.ObjectId = objectId;
                            authorizeData.SortCode = sortCode++;
                            authorizeData.Create();

                            authorizeDataTempList.Add(authorizeData);
                        }
                        //保存
                        res = this.BaseRepository().Insert(conn, authorizeDataTempList, tran);

                        #endregion 数据权限
                    }

                    tran.Commit();
                }
            }, e =>
            {
                Trace.WriteLine(e.Message);
            });
        }
Exemple #21
0
        /// <summary>
        /// 添加授权
        /// </summary>
        /// <param name="authorizeType">权限分类</param>
        /// <param name="objectId">对象Id</param>
        /// <param name="moduleIds">功能Id</param>
        /// <param name="moduleButtonIds">按钮Id</param>
        /// <param name="moduleColumnIds">视图Id</param>
        /// <param name="authorizeDataList">数据权限</param>
        public void SaveAuthorize(AuthorizeTypeEnum authorizeType, string objectId, string[] moduleIds, string[] moduleButtonIds,
                                  string[] moduleColumnIds, IEnumerable <AuthorizeDataEntity> authorizeDataList)
        {
            //先清除历史授权数据
            int isSucc = this.BaseRepository().Delete <AuthorizeDataEntity>(u => u.ObjectId == objectId);

            if (isSucc >= 0)
            {
                #region 功能

                List <AuthorizeEntity> authorizeMenuList = new List <AuthorizeEntity>();
                for (int i = 1; i <= moduleIds.Length; i++)
                {
                    AuthorizeEntity authorize = new AuthorizeEntity
                    {
                        Category = (int)authorizeType,
                        ObjectId = objectId,
                        ItemType = 1,
                        ItemId   = moduleIds[i - 1],
                        SortCode = i
                    };
                    authorize.Create();

                    authorizeMenuList.Add(authorize);
                }
                //保存
                int res = this.BaseRepository().Insert(authorizeMenuList);

                #endregion 功能

                #region  钮

                List <AuthorizeEntity> authorizeButtonList = new List <AuthorizeEntity>();
                for (int i = 1; i <= moduleButtonIds.Length; i++)
                {
                    AuthorizeEntity authorize = new AuthorizeEntity
                    {
                        Category = (int)authorizeType,
                        ObjectId = objectId,
                        ItemType = 2,
                        ItemId   = moduleButtonIds[i - 1],
                        SortCode = i
                    };
                    authorize.Create();

                    authorizeButtonList.Add(authorize);
                }
                //保存
                res = this.BaseRepository().Insert(authorizeButtonList);

                #endregion  钮

                #region 视图

                List <AuthorizeEntity> authorizeViewList = new List <AuthorizeEntity>();
                for (int i = 1; i <= moduleColumnIds.Length; i++)
                {
                    AuthorizeEntity authorize = new AuthorizeEntity
                    {
                        Category = (int)authorizeType,
                        ObjectId = objectId,
                        ItemType = 3,
                        ItemId   = moduleColumnIds[i - 1],
                        SortCode = i
                    };
                    authorize.Create();

                    authorizeViewList.Add(authorize);
                }
                //保存
                res = this.BaseRepository().Insert(authorizeViewList);

                #endregion 视图

                #region 数据权限

                //清除数据权限
                isSucc = this
                         .BaseRepository().Delete <AuthorizeDataEntity>(u => u.ObjectId == objectId);
                int sortCode = 1;
                List <AuthorizeDataEntity> authorizeDataTempList = new List <AuthorizeDataEntity>();

                foreach (AuthorizeDataEntity authorizeData in authorizeDataList)
                {
                    authorizeData.Category = (int)authorizeType;
                    authorizeData.ObjectId = objectId;
                    authorizeData.SortCode = sortCode++;
                    authorizeData.Create();

                    authorizeDataTempList.Add(authorizeData);
                }
                //保存
                this.BaseRepository().Insert(authorizeDataTempList);

                #endregion 数据权限
            }
        }
Exemple #22
0
        /// <summary>
        /// 作者:姚栋
        /// 日期:2018-05-30
        /// 描述:给某个岗位进行项目授权
        /// </summary>
        ///  <param name="authorizeType">授权类型</param>
        /// <param name="postId">岗位Id</param>
        /// <param name="moduleIds">项目Id集合</param>·
        /// <returns></returns>

        public void SaveAuthorizeAndPost(AuthorizeTypeEnum authorizeType, string postId, string projectColumnIds, string projectColumnNames)
        {
            string[] arrayprojectId  = projectColumnIds.Split(',');
            string[] arryprojectName = projectColumnNames.Split(',');
            service.SaveAuthorizeAndPost(authorizeType, postId, arrayprojectId, arryprojectName);
        }
 /// <summary>
 /// 添加成员
 /// </summary>
 /// <param name="authorizeType">权限分类</param>
 /// <param name="objectId">对象Id</param>
 /// <param name="userIds">成员Id</param>
 public void SaveMember(AuthorizeTypeEnum authorizeType, string objectId, string[] userIds)
 {
     permissionService.SaveMember(authorizeType, objectId, userIds);
 }
 /// <summary>
 /// 添加授权
 /// </summary>
 /// <param name="authorizeType">权限分类</param>
 /// <param name="objectId">对象Id</param>
 /// <param name="moduleIds">功能Id</param>
 /// <param name="moduleButtonIds">按钮Id</param>
 /// <param name="moduleColumnIds">视图Id</param>
 /// <param name="authorizeDataList">数据权限</param>
 public void SaveAuthorize(AuthorizeTypeEnum authorizeType, string objectId, string[] moduleIds, string[] moduleButtonIds,
                           string[] moduleColumnIds, IEnumerable <AuthorizeDataEntity> authorizeDataList)
 {
     permissionService.SaveAuthorize(authorizeType, objectId, moduleIds, moduleButtonIds, moduleColumnIds, authorizeDataList);
 }
Exemple #25
0
        /// <summary>
        /// 添加授权
        /// </summary>
        /// <param name="authorizeType">权限分类</param>
        /// <param name="objectId">对象Id</param>
        /// <param name="moduleIds">功能Id</param>
        /// <param name="moduleButtonIds">按钮Id</param>
        /// <param name="moduleColumnIds">视图Id</param>
        /// <param name="authorizeDataList">数据权限</param>
        public void SaveAuthorize(AuthorizeTypeEnum authorizeType, string objectId, string[] moduleIds, string[] moduleButtonIds, string[] moduleColumnIds, IEnumerable <AuthorizeDataEntity> authorizeDataList)
        {
            //IModuleService bll = new ModuleService();
            //IEnumerable<ModuleEntity> IEModule = bll.GetListByParent();

            IRepository db = new RepositoryFactory().BaseRepository().BeginTrans();

            try
            {
                db.Delete <AuthorizeEntity>(t => t.ObjectId == objectId);

                int SortCode = 1;
                if (moduleIds != null)
                {
                    #region 功能
                    foreach (string item in moduleIds)
                    {
                        AuthorizeEntity authorizeEntity = new AuthorizeEntity();
                        authorizeEntity.Create();
                        authorizeEntity.Category = (int)authorizeType;
                        authorizeEntity.ObjectId = objectId;
                        authorizeEntity.ItemType = 1;
                        authorizeEntity.ItemId   = item;
                        authorizeEntity.SortCode = SortCode++;
                        db.Insert(authorizeEntity);
                    }
                    #endregion

                    #region  钮
                    if (moduleButtonIds != null)
                    {
                        SortCode = 1;
                        foreach (string item in moduleButtonIds)
                        {
                            //if (IEModule.Count(t => t.ModuleId == item) == 0)
                            //{
                            AuthorizeEntity authorizeEntity = new AuthorizeEntity();
                            authorizeEntity.Create();
                            authorizeEntity.Category = (int)authorizeType;
                            authorizeEntity.ObjectId = objectId;
                            authorizeEntity.ItemType = 2;
                            authorizeEntity.ItemId   = item;
                            authorizeEntity.SortCode = SortCode++;
                            db.Insert(authorizeEntity);
                            //}
                        }
                    }
                    #endregion

                    #region 视图
                    if (moduleColumnIds != null)
                    {
                        SortCode = 1;
                        foreach (string item in moduleColumnIds)
                        {
                            //if (IEModule.Count(t => t.ModuleId == item) == 0)
                            //{
                            AuthorizeEntity authorizeEntity = new AuthorizeEntity();
                            authorizeEntity.Create();
                            authorizeEntity.Category = (int)authorizeType;
                            authorizeEntity.ObjectId = objectId;
                            authorizeEntity.ItemType = 3;
                            authorizeEntity.ItemId   = item;
                            authorizeEntity.SortCode = SortCode++;
                            db.Insert(authorizeEntity);
                            //}
                        }
                    }
                    #endregion
                }
                #region 数据权限
                SortCode = 1;
                db.Delete <AuthorizeDataEntity>(objectId, "ObjectId");
                int index = 0;
                foreach (AuthorizeDataEntity authorizeDataEntity in authorizeDataList)
                {
                    authorizeDataEntity.Create();
                    authorizeDataEntity.Category = (int)authorizeType;
                    authorizeDataEntity.ObjectId = objectId;
                    // authorizeDataEntity.Module = "Department";
                    authorizeDataEntity.SortCode = SortCode++;
                    db.Insert(authorizeDataEntity);
                    index++;
                }
                #endregion

                db.Commit();
            }
            catch (Exception)
            {
                db.Rollback();
                throw;
            }
        }
Exemple #26
0
 /// <summary>
 /// 添加成员
 /// </summary>
 /// <param name="authorizeType">权限分类</param>
 /// <param name="objectId">对象Id</param>
 /// <param name="userIds">成员Id</param>
 public void SaveMember(AuthorizeTypeEnum authorizeType, string objectId, string userIds)
 {
     string[] arrayUserId = userIds.Split(',');
     permissionService.SaveMember(authorizeType, objectId, arrayUserId);
 }
Exemple #27
0
        /// <summary>
        /// 添加授权
        /// </summary>
        /// <param name="authorizeType">权限分类</param>
        /// <param name="objectId">对象Id</param>
        /// <param name="moduleIds">功能Id</param>
        /// <param name="moduleButtonIds">按钮Id</param>
        /// <param name="moduleColumnIds">视图Id</param>
        /// <param name="authorizeDataList">数据权限</param>
        public void SaveAuthorize(AuthorizeTypeEnum authorizeType, string objectId, string[] moduleIds, string[] moduleButtonIds, string[] moduleColumnIds, IEnumerable <AuthorizeDataEntity> authorizeDataList)
        {
            try
            {
                using (var tran = QSDMS_SQLDB.GetInstance().GetTransaction())
                {
                    //删除授权
                    Base_Authorize.Delete("where ObjectId=@0", objectId);

                    #region 功能
                    int SortCode = 1;
                    foreach (string item in moduleIds)
                    {
                        AuthorizeEntity authorizeEntity = new AuthorizeEntity();
                        authorizeEntity.Create();
                        authorizeEntity.Category = (int)authorizeType;
                        authorizeEntity.ObjectId = objectId;
                        authorizeEntity.ItemType = (int)Enums.FormElementTypeEnum.菜单;
                        authorizeEntity.ItemId   = item;
                        authorizeEntity.SortCode = SortCode++;
                        Base_Authorize authorize = EntityConvertTools.CopyToModel <AuthorizeEntity, Base_Authorize>(authorizeEntity, null);
                        authorize.Insert();
                    }
                    #endregion

                    #region  钮
                    SortCode = 1;
                    foreach (string item in moduleButtonIds)
                    {
                        AuthorizeEntity authorizeEntity = new AuthorizeEntity();
                        authorizeEntity.Create();
                        authorizeEntity.Category = (int)authorizeType;
                        authorizeEntity.ObjectId = objectId;
                        authorizeEntity.ItemType = (int)Enums.FormElementTypeEnum.钮;
                        authorizeEntity.ItemId   = item;
                        authorizeEntity.SortCode = SortCode++;
                        Base_Authorize authorize = EntityConvertTools.CopyToModel <AuthorizeEntity, Base_Authorize>(authorizeEntity, null);
                        authorize.Insert();
                    }
                    #endregion

                    #region 视图
                    SortCode = 1;
                    foreach (string item in moduleColumnIds)
                    {
                        AuthorizeEntity authorizeEntity = new AuthorizeEntity();
                        authorizeEntity.Create();
                        authorizeEntity.Category = (int)authorizeType;
                        authorizeEntity.ObjectId = objectId;
                        authorizeEntity.ItemType = (int)Enums.FormElementTypeEnum.视图;
                        authorizeEntity.ItemId   = item;
                        authorizeEntity.SortCode = SortCode++;
                        Base_Authorize authorize = EntityConvertTools.CopyToModel <AuthorizeEntity, Base_Authorize>(authorizeEntity, null);
                        authorize.Insert();
                    }
                    #endregion

                    #region 数据权限
                    SortCode = 1;
                    Base_AuthorizeDatum.Delete("where objectId=@0", objectId);
                    int index = 0;
                    foreach (AuthorizeDataEntity authorizeDataEntity in authorizeDataList)
                    {
                        authorizeDataEntity.Create();
                        authorizeDataEntity.Category = (int)authorizeType;
                        authorizeDataEntity.ObjectId = objectId;
                        authorizeDataEntity.SortCode = SortCode++;
                        Base_AuthorizeDatum authorizedata = EntityConvertTools.CopyToModel <AuthorizeDataEntity, Base_AuthorizeDatum>(authorizeDataEntity, null);
                        authorizedata.Insert();
                        index++;
                    }
                    #endregion
                    tran.Complete();
                }
            }
            catch (Exception)
            {
                throw;
            }
        }
Exemple #28
0
 /// <summary>
 /// 添加授权
 /// </summary>
 /// <param name="authorizeType">权限分类</param>
 /// <param name="objectId">对象Id</param>
 /// <param name="moduleIds">功能Id</param>
 /// <param name="moduleButtonIds">按钮Id</param>
 /// <param name="moduleColumnIds">视图Id</param>
 /// <param name="authorizeDataList">数据权限</param>
 public void SaveAuthorize(AuthorizeTypeEnum authorizeType, string objectId, string[] moduleIds, string[] moduleButtonIds,
                           string[] moduleColumnIds, IEnumerable <AuthorizeDataEntity> authorizeDataList)
 {
     throw new NotImplementedException();
 }
Exemple #29
0
        /// <summary>
        /// 作者:姚栋
        /// 日期:2018-05-30
        /// 描述:给某个岗位进行项目授权
        /// </summary>
        ///  <param name="authorizeType">授权类型</param>
        /// <param name="postId">岗位Id</param>
        /// <param name="moduleIds">项目Id集合</param>·
        /// <returns></returns>

        public void SaveAuthorizeAndPost(AuthorizeTypeEnum authorizeType, string postId, string[] projectColumnIds, string[] arryprojectNames)
        {
            var projectList = this.BaseRepository().IQueryable <Base_ProjectInfoEntity>().ToList();

            IRepository db = new RepositoryFactory().BaseRepository().BeginTrans();

            try
            {
                if (projectColumnIds.Length != arryprojectNames.Length)
                {
                    throw new Exception("授权数据异常!");
                }


                #region 数据权限

                int SortCode = 1;
                Base_ProjectInfoEntity currentProject = null;
                for (int i = 0; i < projectColumnIds.Length; i++)
                {
                    currentProject = projectList.FirstOrDefault(p => p.ProjectID == projectColumnIds[i]);
                    AuthorizeEntity authorizeEntity = new AuthorizeEntity();
                    authorizeEntity.Create();
                    authorizeEntity.Category = (int)authorizeType;
                    authorizeEntity.ObjectId = postId;
                    authorizeEntity.ItemType = (int)AuthorizeItmeTypeEnum.ProjectInfo;
                    authorizeEntity.ItemId   = projectColumnIds[i];
                    authorizeEntity.ItemName = arryprojectNames[i];
                    authorizeEntity.SortCode = SortCode++;
                    if (currentProject != null)
                    {
                        authorizeEntity.Remark1 = currentProject.CompanyName;
                        authorizeEntity.Remark2 = currentProject.CityName;
                    }

                    db.Insert(authorizeEntity);
                }
                //foreach (string item in projectColumnIds)
                //{
                //    AuthorizeEntity authorizeEntity = new AuthorizeEntity();
                //    authorizeEntity.Create();
                //    authorizeEntity.Category = (int)authorizeType;
                //    authorizeEntity.ObjectId = postId;
                //    authorizeEntity.ItemType = (int)AuthorizeItmeTypeEnum.ProjectInfo;
                //    authorizeEntity.ItemId = item;
                //    authorizeEntity.SortCode = SortCode++;
                //    db.Insert(authorizeEntity);
                //}
                #endregion
                StringBuilder strSql = new StringBuilder();
                strSql.Append(@"update Base_Role set AuthorizationMethod=@AuthorizationMethod where RoleId=@PostID");
                var parameter = new List <DbParameter>();
                parameter.Add(DbParameters.CreateDbParameter("@PostID", postId));
                parameter.Add(DbParameters.CreateDbParameter("@AuthorizationMethod", (int)AuthorizationMethodEnum.CustomizeProject));
                db.ExecuteBySql(strSql.ToString(), parameter.ToArray());
                db.Commit();
            }
            catch (Exception ex)
            {
                db.Rollback();
                throw new Exception(ex.Message);
            }
        }