Exemplo n.º 1
0
        public static RightEntity SaveRight(string badge, string dataJson, out bool state, out string msg)
        {
            RightEntity right = Serializer.ToObject <RightEntity>(dataJson);

            right.Operator    = badge;
            right.OperateTime = DateTime.Now;

            if (RightEntity.DefaultDB.IsNew(right))
            {
                if (RightEntity.GetListByProperty(a => a.RightUser, right.RightUser).Count > 0)
                {
                    state = false;
                    msg   = "员工" + right.RightUserExp + "权限已存在!";
                }
                else
                {
                    state = right.Save(out msg);
                    LogService.WriteLog(LogTypeEnum.操作日志, "权限管理", "新增权限:" + badge + "为" + right.RightUser + "分配了 " + right.RightName + " 权限");
                }
            }
            else
            {
                RightEntity oldRight = RightEntity.GetSingle(right.Id);

                right.RightUser = oldRight.RightUser;
                state           = right.Save(out msg);
                LogService.WriteLog(LogTypeEnum.操作日志, "权限管理", "修改权限:" + badge + "修改了" + right.RightUser + "的权限,从 " + oldRight.RightName + " 修改到 " + right.RightName);
            }

            return(right);
        }
Exemplo n.º 2
0
        /// <summary>修改节点属性
        /// </summary>
        /// <param name="rightEntity"></param>
        /// <returns>1:成功 -1:失败 -2:已存在相同的url</returns>
        public int UpdateRight(RightEntity rightEntity)
        {
            RightDal rightDal = new RightDal();
            int      result   = rightDal.Exist(rightEntity.Url);

            if (result > 0 && result != rightEntity.Id)
            {
                return(-2);
            }
            return(rightDal.UpdateRight(rightEntity) ? 1 : -1);
        }
Exemplo n.º 3
0
        /// <summary>
        /// 保存用户设置的权限
        /// </summary>
        private void Save()
        {
            long UserID = NDConvert.ToInt64(drpPersonList.SelectedValue);

            new RightQuery().DeleteUserRight(UserID);
            UserEntity Pentity = new UserEntity(UserID);

            new MenuFunctionRightQuery().DeleteUserMenuFunctionRight(UserID);

            Node                    node     = null;
            RightEntity             entity   = null;
            MenuFunctionRightEntity mfEntity = null;

            for (int i = 0; i < tvRight.CheckedNodes.Count; i++)
            {
                node = (Node)tvRight.CheckedNodes[i];
                switch (node.Level)
                {
                case 0:
                case 1:
                    entity        = new RightEntity();
                    entity.UserID = UserID;
                    entity.MenuID = NDConvert.ToInt64(node.DataKey.ToString());
                    new RightRule().Add(entity);
                    break;

                case 2:
                    if (MenuQuery.IsHaveChileMenu(NDConvert.ToInt64(node.Parent.DataKey.ToString())))       //判断是否有子菜单,如有有子菜单说明本层是菜单,如果没有则是菜单功能项
                    {
                        entity        = new RightEntity();
                        entity.UserID = UserID;
                        entity.MenuID = NDConvert.ToInt64(node.DataKey.ToString());
                        new RightRule().Add(entity);
                    }
                    else
                    {
                        mfEntity        = new MenuFunctionRightEntity();
                        mfEntity.FID    = NDConvert.ToInt64(node.DataKey.ToString());
                        mfEntity.UserID = UserID;
                        mfEntity.MenuID = NDConvert.ToInt64(node.Parent.DataKey.ToString());
                        new MenuFunctionRightRule().Add(mfEntity);
                    }
                    break;

                case 3:
                    mfEntity        = new MenuFunctionRightEntity();
                    mfEntity.FID    = NDConvert.ToInt64(node.DataKey.ToString());
                    mfEntity.UserID = UserID;
                    mfEntity.MenuID = NDConvert.ToInt64(node.Parent.DataKey.ToString());
                    new MenuFunctionRightRule().Add(mfEntity);
                    break;
                }
            }
        }
Exemplo n.º 4
0
        private MenuEntity GetMenu(RightEntity rightEntity, PluginEntity pluginEntity)
        {
            string startWith = "/" + pluginEntity.Name + "/";
            string replace   = "/" + pluginEntity.Name + "/" + pluginEntity.PVersion + "/";

            MenuEntity mm = new MenuEntity(rightEntity.Id, rightEntity.Name, "/plugins" + rightEntity.Url.Replace(startWith, replace), false, pluginEntity.Icon);

            foreach (var item in rightEntity.Children)
            {
                mm.Children.Add(GetMenu(item, pluginEntity));
            }
            return(mm);
        }
Exemplo n.º 5
0
        /// <summary>添加节点
        /// </summary>
        /// <param name="rightEntity"></param>
        /// <returns>1:成功 -1:失败 -2:已存在相同url的节点</returns>
        public int AddRight(RightEntity rightEntity)
        {
            RightDal rightDal = new RightDal();

            if (rightDal.Exist(rightEntity.Url) > 0)
            {
                return(-2);
            }
            else
            {
                return(rightDal.AddRight(rightEntity));
            }
        }
Exemplo n.º 6
0
        /// <summary>转换成实体类
        /// </summary>
        /// <param name="dataRow"></param>
        /// <returns></returns>
        private RightEntity Conver2Entity(DataRow dataRow)
        {
            RightEntity rightEntity = new RightEntity();

            rightEntity.Id       = Int32.Parse(dataRow["Id"].ToString());
            rightEntity.Name     = (string)dataRow["Name"];
            rightEntity.Url      = (string)dataRow["Url"];
            rightEntity.Level    = Int32.Parse(dataRow["Level"].ToString());
            rightEntity.ParentId = Int32.Parse(dataRow["ParentId"].ToString());
            rightEntity.Describe = (string)dataRow["Describe"];
            rightEntity.IsMenu   = Int32.Parse(dataRow["IsMenu"].ToString());
            rightEntity.Deleted  = Int32.Parse(dataRow["Deleted"].ToString());
            rightEntity.Category = Int32.Parse(dataRow["Category"].ToString());
            return(rightEntity);
        }
Exemplo n.º 7
0
        /// <summary>修改权限
        /// </summary>
        /// <param name="rightEntity"></param>
        /// <returns></returns>
        public bool UpdateRight(RightEntity rightEntity)
        {
            const string sql = "update t_rights set Name=@Name,Url=@Url,Level=@Level,ParentId=@ParentId,Describe=@Describe,IsMenu=@IsMenu,Deleted=@Deleted where Id=@Id";

            SQLiteParameter[] para = new SQLiteParameter[] {
                new SQLiteParameter("@Name", rightEntity.Name),
                new SQLiteParameter("@Url", rightEntity.Url),
                new SQLiteParameter("@Level", rightEntity.Level),
                new SQLiteParameter("@ParentId", rightEntity.ParentId),
                new SQLiteParameter("@Describe", rightEntity.Describe),
                new SQLiteParameter("@IsMenu", rightEntity.IsMenu),
                new SQLiteParameter("@Deleted", rightEntity.Deleted),
                new SQLiteParameter("@Id", rightEntity.Id)
            };
            int result = new SqlLiteHelper().RunSQL(sql, para);

            return(result > 0);
        }
Exemplo n.º 8
0
        /// <summary>获取权限列表
        /// </summary>
        /// <returns>json字符串</returns>
        public RightEntity GetAllRights()
        {
            RightDal rightDal      = new RightDal();
            var      rightEntities = rightDal.GetAllRights();
            var      rootEntities  = rightEntities.Where(m => m.ParentId == 0);

            AppendChild(rootEntities, rightEntities);
            RightEntity rightEntity = new RightEntity();

            rightEntity.Id       = 0;
            rightEntity.IsMenu   = 0;
            rightEntity.Level    = 0;
            rightEntity.Name     = "权限管理";
            rightEntity.ParentId = 0;
            rightEntity.Url      = "..";
            rightEntity.Category = -1;
            rightEntity.Deleted  = 0;
            rightEntity.Describe = "..";
            rightEntity.Children = rootEntities.ToList();
            return(rightEntity);
        }
Exemplo n.º 9
0
        /// <summary>添加一个节点
        /// </summary>
        /// <param name="rightEntity"></param>
        /// <returns></returns>
        public int AddRight(RightEntity rightEntity)
        {
            string sql = "insert into t_rights (Name,Url,Level,ParentId,Describe,IsMenu,Deleted,Category) values (@Name,@Url,@Level,@ParentId,@Describe,@IsMenu,@Deleted,@Category);select last_insert_rowid();";

            SQLiteParameter[] para = new SQLiteParameter[] {
                new SQLiteParameter("@Name", rightEntity.Name),
                new SQLiteParameter("@Url", rightEntity.Url),
                new SQLiteParameter("@Level", rightEntity.Level),
                new SQLiteParameter("@ParentId", rightEntity.ParentId),
                new SQLiteParameter("@Describe", rightEntity.Describe),
                new SQLiteParameter("@IsMenu", rightEntity.IsMenu),
                new SQLiteParameter("@Deleted", rightEntity.Deleted),
                new SQLiteParameter("@Category", rightEntity.Category)
            };
            DataTable dataTable = new SqlLiteHelper().GetDataTable(sql, para);

            if (dataTable != null && dataTable.Rows.Count == 1)
            {
                return(Int32.Parse(dataTable.Rows[0][0].ToString()));
            }
            return(-1);
        }
Exemplo n.º 10
0
        public static void DeleteRight(string badge, string ids, out bool state, out string msg)
        {
            List <string> idList = ids.Split(',').ToList();

            state = true;
            msg   = string.Empty;

            foreach (var id in idList)
            {
                RightEntity right     = RightEntity.GetSingle(id);
                string      rightUser = right.RightUser;
                state = right.Delete(out msg);

                if (state)
                {
                    LogService.WriteLog(LogTypeEnum.操作日志, "权限管理", "删除权限:" + badge + "删除了" + rightUser + "的权限 ");
                }
                else
                {
                    break;
                }
            }
        }
Exemplo n.º 11
0
        // GET: /Home/

        public ActionResult Index()
        {
            UserEntity user = new UserBll().getCurUser();

            ViewBag.User = user;
            #region 菜单呈现
            List <string>     urights = new List <string>();
            List <MenuEntity> menus   = new List <MenuEntity>();
            if (user != null)
            {
                IEnumerable <PluginEntity> pluginEntities = HuberPluginHandle.getEntityForMenu();
                if (pluginEntities.Any())
                {
                    #region 用户的权限
                    List <RoleEntity> uroles     = new RoleBll().GetRoles(user.RolesIds);
                    string[]          rightRange = null;
                    string[]          splitchar  = new string[] { "," };
                    if (uroles != null)
                    {
                        foreach (RoleEntity role in uroles)
                        {
                            rightRange = role.RightIds.Split(splitchar, StringSplitOptions.RemoveEmptyEntries);
                            if (rightRange != null)
                            {
                                urights.AddRange(rightRange);
                            }
                        }
                    }
                    #endregion
                    List <RightEntity> rightEntities = new RightBll().GetAllMenu(urights, user.Uid == UserBll.SuperAdminID);
                    foreach (PluginEntity pluginEntity in pluginEntities)
                    {
                        RightEntity rightEntity = rightEntities.SingleOrDefault(m => m.Category == pluginEntity.Id && m.ParentId == 0);
                        if (rightEntity == null)
                        {
                            continue;
                        }
                        MenuEntity menuEntity = GetMenu(rightEntity, pluginEntity);
                        menus.Add(menuEntity);
                    }
                }
                #region 添加系统菜单
                if (user.Uid == UserBll.SuperAdminID)
                {
                    MenuEntity CoreMenu = new MenuEntity(-1, "系统管理", string.Empty, true, "fa fa-cog");
                    CoreMenu.Children.Add(new MenuEntity(-1, "用户管理", "/user/index", true));
                    CoreMenu.Children.Add(new MenuEntity(-1, "权限管理", "/right/index", true));
                    CoreMenu.Children.Add(new MenuEntity(-1, "角色管理", "/role/index", true));
                    CoreMenu.Children.Add(new MenuEntity(-1, "模块管理", "/module/index", true));
                    menus.Add(CoreMenu);
                    //menus.Add(CoreMenu);
                    //menus.Add(CoreMenu);
                    //menus.Add(CoreMenu);
                    //menus.Add(CoreMenu);
                }
                #endregion
            }
            #endregion



            ViewBag.Menus = menus;
            return(View());
        }
Exemplo n.º 12
0
 public static void AssertEqual(RightEntity expected, Right actual)
 {
     Assert.Equal(expected.Info, actual.Info);
 }
Exemplo n.º 13
0
 public Right MapRight(RightEntity src, Right dest)
 {
     return(mapper.Map(src, dest));
 }
Exemplo n.º 14
0
 public RightEntity MapRight(RightInput src, RightEntity dest)
 {
     return(mapper.Map(src, dest));
 }
Exemplo n.º 15
0
        public static bool IsHaveRight(string badge, string rightName)
        {
            RightEntity right = RightEntity.GetListByProperty(a => a.RightUser, badge).FirstOrDefault();

            return(right != null && right.RightName.Contains(rightName));
        }
Exemplo n.º 16
0
 /// <summary>修改权限
 /// </summary>
 /// <param name="rightEntity"></param>
 /// <returns></returns>
 public int EditRight(RightEntity rightEntity)
 {
     rightEntity.Describe = HttpUtility.UrlDecode(rightEntity.Describe);
     rightEntity.Name     = HttpUtility.UrlDecode(rightEntity.Name);
     return(new RightBll().UpdateRight(rightEntity));
 }