Exemplo n.º 1
0
        ///// <summary>
        ///// 用户注册
        ///// </summary>
        ///// <param name="position">职位表实体</param>
        ///// <returns>true:保存成功,false:保存失败</returns>
        //public bool PostPositionSave(Base_UserInfo base_User)
        //{
        //    if (string.IsNullOrEmpty(base_User.OID))
        //    {
        //        base_User.Name = Tools.SessionHelper.GetSession<Base_UserInfo>(Tools.SessionHelper.SessinoName.CurUser).OID;
        //        base_User.VDATETIME = DateTime.Now;
        //    }
        //    return this.
        //}
        /// <summary>
        /// 根据页面url获取页面Ename
        /// </summary>
        /// <param name="url">页面url</param>
        /// <returns>Ename</returns>
        public string GetEnameByUrl(string url)
        {
            string          ref_ename  = string.Empty;
            Base_ModuleInfo ModuleInfo = _moduleInfoBll.FindBy(o => o.PathHandler == url).FirstOrDefault();

            if (ModuleInfo != null)
            {
                ref_ename = ModuleInfo.EName;
            }
            return(ref_ename);
        }
Exemplo n.º 2
0
        public object GetModulePermissionByOid(string oid)
        {
            Base_ModuleInfo            ModuleInfo  = _service.FindBy(o => o.OID == oid && o.State == 0).FirstOrDefault();
            List <Base_PermissionInfo> Permissions = new List <Base_PermissionInfo>();

            if (ModuleInfo != null)
            {
                Permissions = ModuleInfo.Permissions.ToList();
            }
            return(Common.NewtonJsonHelper.Deserialize <object>(Common.NewtonJsonHelper.Serialize(Permissions, new List <string> {
                "Modules", "Roles"
            }), null));
        }
Exemplo n.º 3
0
        public object ModuleTreeMove(PostClass PostClass)
        {
            bool bool_ref = false;

            if (PostClass.PostData.ToString().Split('☻').Length == 2)
            {
                string          moduleOid  = PostClass.PostData.ToString().Split('☻')[0];
                string          moveType   = PostClass.PostData.ToString().Split('☻')[1];
                Base_ModuleInfo MoveModule = _service.FindBy(o => o.OID == moduleOid).FirstOrDefault();
                if (moveType == "up")
                {
                    bool_ref = _service.MoveWithTree(MoveModule, -1);
                }
                else if (moveType == "down")
                {
                    bool_ref = _service.MoveWithTree(MoveModule, 1);
                }
            }
            return(bool_ref);
        }
Exemplo n.º 4
0
        /// <summary>
        /// 获取到用户可用module
        /// </summary>
        /// <param name="userId">用户id</param>
        /// <param name="orgId">当前组织机构</param>
        /// <param name="moduleEname">模块英文名称,如果不为空则返回该模块的所有子集,如果为空则返回所有</param>
        /// <returns>json</returns>
        public object GetUserModules(string userId, string orgId, string moduleEname)
        {
            try
            {
                List <Base_ModuleInfo> moduleList;
                //缓存Key值
                string cacheKey = userId + orgId + "_UserAuthModule";
                //判断缓存是否存在
                #region 缓存存在数据,取出缓存数据
                //缓存中存在菜单字典取出数据,如果字典中不存在该用户键值,取出数据存入
                object info = CacheHelper.GetLocalCache(cacheKey);
                if (info != null)
                {
                    moduleList = (List <Base_ModuleInfo>)info;
                }
                #endregion

                #region 缓存不存在,取出数据存入创建缓存
                else
                {
                    // 缓存中不存在菜单字典,创建字典存入缓存
                    moduleList = _authBll.GetAllowModuleByUser(userId, orgId);
                    if (moduleList.Count > 0)
                    {
                        CacheHelper.SaveLocalCache(null, TimeSpan.FromHours(_authBll.CacheHour), moduleList, cacheKey);
                    }
                    else
                    {
                        throw new PermissionLimittedException("noAuth");
                    }
                }
                #endregion

                #region 过滤结果集合
                if (moduleList != null & moduleList.Count > 0)
                {
                    //转化成json串
                    if (!string.IsNullOrEmpty(moduleEname))//如果moduleEname不为空值,代表请求某菜单下的按钮
                    {
                        Base_ModuleInfo parentObj      = moduleList.Where(op => op.EName == moduleEname).FirstOrDefault();
                        string          parentModuleId = Guid.NewGuid().ToString().ToUpper();//默认给一个新创建的Guid
                        if (parentObj != null)
                        {
                            parentModuleId = parentObj.OID; //更改Guid值
                        }
                        moduleList = moduleList.Where(op => op.Flag == 1 || op.Flag == 3 || op.Flag == 4).Where(op => op.ParentOID == parentModuleId.ToString()).OrderBy(op => op.LT).ToList();
                    }
                    else//如果moduleEname为空值,代表请求整个权限菜单
                    {
                        moduleList = moduleList.Where(op => op.Flag == 0).OrderBy(op => op.LT).ToList();
                    }
                }
                #endregion

                #region 过滤结果字段
                object        delresult;
                List <string> removeCols = new List <string>();
                removeCols.Add("Buttons");
                removeCols.Add("Orgs");
                removeCols.Add("Permissions");
                delresult = Common.NewtonJsonHelper.Deserialize <object>(Common.NewtonJsonHelper.Serialize(moduleList, removeCols), null);
                #endregion

                return(delresult);
            }
            catch (Exception err)
            {
                throw new PermissionLimittedException("noAuth", err);
            }
        }
Exemplo n.º 5
0
        public ActionResult BaseRolePermission()
        {
            int num = TypeUtil.ObjectToInt(base.Request["param"]);

            base.ViewData["data"] = null;
            base.ViewBag.RoleId   = num;
            List <Base_ModuleInfo> list = new List <Base_ModuleInfo>();

            if (num > 0)
            {
                base.ViewBag.RoleName = TypeUtil.GetRoleName(num);
                if (num == 1)
                {
                    base.ViewBag.Tit = "<超级管理员默认具有全部权限>";
                }
                else
                {
                    DataSet moduleList           = FacadeManage.aidePlatformManagerFacade.GetModuleList();
                    DataSet modulePermissionList = FacadeManage.aidePlatformManagerFacade.GetModulePermissionList();
                    DataSet rolePermissionList   = FacadeManage.aidePlatformManagerFacade.GetRolePermissionList(num);
                    if (moduleList != null && moduleList.Tables.Count > 0)
                    {
                        foreach (DataRow row in moduleList.Tables[0].Rows)
                        {
                            Base_ModuleInfo base_ModuleInfo = new Base_ModuleInfo();
                            int             num2            = TypeUtil.ObjectToInt(row["ModuleID"]);
                            string          text2           = base_ModuleInfo.Title = TypeUtil.ObjectToString(row["Title"]);
                            base_ModuleInfo.ModuleID = num2;
                            DataRow[] array = moduleList.Tables[0].Select("ParentID=" + num2);
                            if (array != null && array.Count() > 0)
                            {
                                List <Base_ModuleSubInfo> list2 = new List <Base_ModuleSubInfo>();
                                DataRow[] array2 = array;
                                foreach (DataRow dataRow2 in array2)
                                {
                                    Base_ModuleSubInfo base_ModuleSubInfo = new Base_ModuleSubInfo();
                                    string             title = TypeUtil.ObjectToString(dataRow2["Title"]);
                                    int num3 = TypeUtil.ObjectToInt(dataRow2["ModuleID"]);
                                    if (modulePermissionList != null && modulePermissionList.Tables.Count > 0 && modulePermissionList.Tables[0].Select("ModuleID=" + num3).Count() > 0)
                                    {
                                        base_ModuleSubInfo.Title    = title;
                                        base_ModuleSubInfo.ModuleID = num3;
                                        DataRow[] array3 = modulePermissionList.Tables[0].Select("ModuleID=" + num3);
                                        List <Base_ModulePermissionInfo> list3 = new List <Base_ModulePermissionInfo>();
                                        DataRow[] array4 = array3;
                                        foreach (DataRow dataRow3 in array4)
                                        {
                                            Base_ModulePermissionInfo base_ModulePermissionInfo = new Base_ModulePermissionInfo();
                                            int num4 = TypeUtil.ObjectToInt(dataRow3["PermissionValue"]);
                                            base_ModulePermissionInfo.PermissionTitle = TypeUtil.ObjectToString(dataRow3["PermissionTitle"]);
                                            base_ModulePermissionInfo.PermissionValue = num4;
                                            if (rolePermissionList != null && rolePermissionList.Tables.Count > 0 && rolePermissionList.Tables[0].Rows.Count > 0)
                                            {
                                                DataRow[] array5 = rolePermissionList.Tables[0].Select("RoleID=" + num + " and ModuleID=" + num3);
                                                int       num5   = 0;
                                                if (array5 != null && array5.Count() > 0)
                                                {
                                                    num5 = TypeUtil.ObjectToInt(array5[0]["OperationPermission"]);
                                                }
                                                base_ModulePermissionInfo.IsChecked = (num5 != 0 && TypeUtil.IsExit(num5, num4));
                                            }
                                            else
                                            {
                                                base_ModulePermissionInfo.IsChecked = false;
                                            }
                                            list3.Add(base_ModulePermissionInfo);
                                        }
                                        base_ModuleSubInfo.Base_ModulePermissionInfoes = list3;
                                    }
                                    if (base_ModuleSubInfo != null)
                                    {
                                        list2.Add(base_ModuleSubInfo);
                                    }
                                }
                                if (list2 != null && list2.Count > 0)
                                {
                                    base_ModuleInfo.Base_ModuleSubInfoes = list2;
                                }
                            }
                            if (base_ModuleInfo != null && base_ModuleInfo.Base_ModuleSubInfoes != null && base_ModuleInfo.Base_ModuleSubInfoes.Count > 0)
                            {
                                list.Add(base_ModuleInfo);
                            }
                        }
                    }
                }
            }
            if (list != null && list.Count > 0)
            {
                foreach (Base_ModuleInfo item in list)
                {
                    foreach (Base_ModuleSubInfo base_ModuleSubInfo2 in item.Base_ModuleSubInfoes)
                    {
                        if (base_ModuleSubInfo2.Base_ModulePermissionInfoes != null && base_ModuleSubInfo2.Base_ModulePermissionInfoes.Count > 0)
                        {
                            base_ModuleSubInfo2.Base_ModulePermissionInfoes = (from p in base_ModuleSubInfo2.Base_ModulePermissionInfoes
                                                                               where p.PermissionTitle != ""
                                                                               select p).ToList();
                        }
                    }
                }
                foreach (Base_ModuleInfo item2 in list)
                {
                    if (item2.Base_ModuleSubInfoes != null && item2.Base_ModuleSubInfoes.Count > 0)
                    {
                        item2.Base_ModuleSubInfoes = item2.Base_ModuleSubInfoes.Where(delegate(Base_ModuleSubInfo p)
                        {
                            if (p.Title != "")
                            {
                                return(p.Base_ModulePermissionInfoes != null);
                            }
                            return(false);
                        }).ToList();
                    }
                }
                if (list != null && list.Count > 0)
                {
                    list = list.Where(delegate(Base_ModuleInfo p)
                    {
                        if (p.Title != "" && p.Base_ModuleSubInfoes != null)
                        {
                            return(p.Base_ModuleSubInfoes.Count > 0);
                        }
                        return(false);
                    }).ToList();
                }
            }
            base.ViewData["data"] = list;
            return(View());
        }
Exemplo n.º 6
0
        /// <summary>
        /// 根据路由名称和标识获取行操作按钮和工具栏按钮
        /// </summary>
        /// <param name="routeState">路由名称</param>
        /// <param name="flag">标识</param>
        /// <returns></returns>
        public List <Base_ModuleInfo> GetButtonByEname(string routeState, int flag)
        {
            Base_UserInfo user = Tools.SessionHelper.GetSession <Base_UserInfo>(Tools.SessionHelper.SessinoName.CurUser);

            if (user == null)
            {
                return(new List <Base_ModuleInfo>());
            }
            string orgOID = user.Orgs.FirstOrDefault().OID;
            List <Base_ModuleInfo> moduleList = new List <Base_ModuleInfo>();
            //缓存Key值
            string cacheKey = user.OID + orgOID + "_UserAuthModule";

            //判断缓存是否存在
            #region 缓存存在数据,取出缓存数据
            //缓存中存在菜单字典取出数据,如果字典中不存在该用户键值,取出数据存入
            object info = CacheHelper.GetLocalCache(cacheKey);
            if (info != null)
            {
                moduleList = (List <Base_ModuleInfo>)info;
            }
            #endregion

            #region 缓存不存在,取出数据存入创建缓存
            else
            {
                // 缓存中不存在菜单字典,创建字典存入缓存
                moduleList = _authBll.GetAllowModuleByUser(user.OID, orgOID);
                if (moduleList.Count > 0)
                {
                    CacheHelper.SaveLocalCache(null, TimeSpan.FromHours(_authBll.CacheHour), moduleList, cacheKey);
                }
                else
                {
                    moduleList = new List <Base_ModuleInfo>();
                }
            }
            #endregion

            #region 过滤结果集合
            if (moduleList != null & moduleList.Count > 0)
            {
                //转化成json串
                if (!string.IsNullOrEmpty(routeState))//如果moduleEname不为空值,代表请求某菜单下的按钮
                {
                    Base_ModuleInfo parentObj      = moduleList.Where(op => op.EName == routeState).FirstOrDefault();
                    string          parentModuleId = Guid.NewGuid().ToString().ToUpper();//默认给一个新创建的Guid
                    if (parentObj != null)
                    {
                        parentModuleId = parentObj.OID; //更改Guid值
                    }
                    //Base_ModuleInfo item = null;
                    moduleList = moduleList.Where(op => op.Flag == flag).Where(op => op.ParentOID == parentModuleId.ToString()).ToList();
                    //.Select(item => new { item.Name, item.PathHandler }).ToList();
                }
            }
            #endregion
            List <Base_ModuleInfo> returnList = new List <Base_ModuleInfo>();
            foreach (var item in moduleList)
            {
                Base_ModuleInfo module = new Base_ModuleInfo();
                module.Name        = item.Name;
                module.PathHandler = item.PathHandler;
                module.Url         = item.Url;
                module.EName       = item.EName;
                module.Flag        = item.Flag;
                module.Ico         = item.Ico;
                returnList.Add(module);
            }
            return(returnList);
        }