/// <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); } }
/// <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; } }
/// <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); } }
/// <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("保存成功。")); }
/// <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(); }
/// <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; } }
/// <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); }
/// <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; } }
/// <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; } }
/// <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; } }
/// <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; } }
/// <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); }
/// <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(); }
/// <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; } }
/// <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); }); }
/// <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 数据权限 } }
/// <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); }
/// <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; } }
/// <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); }
/// <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; } }
/// <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(); }
/// <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); } }