protected void Module_Sub_ItemDataBound(object sender, RepeaterItemEventArgs e)
        {
            sys_ModuleTable s_Mt = (sys_ModuleTable)e.Item.DataItem;
            //获得当前设定角色权限
            sys_RolePermissionTable s_Rp = BusinessFacade.sys_RolePermissionDisp(RoleID, ApplicationID, s_Mt.M_PageCode);

            DataList dlist = (DataList)e.Item.FindControl("PermissionList");

            if (dlist != null)
            {
                List <sys_PermissionItem> lst = GetPermissionList(s_Mt.ModuleID);
                FormatPermission(lst, s_Mt.M_PageCode, s_Rp.P_Value);
                dlist.DataSource = lst;
                dlist.DataBind();
            }

            #region "原有代码"

            /*
             * string rightString = string.Format("<img src='{0}'>",ResolveClientUrl("~/Manager/images/right.gif"));
             * string wrongString = string.Format("<img src='{0}'>",ResolveClientUrl("~/Manager/images/wrong.gif"));
             * string dispString = "";
             * string SelectTxt = "";
             * string DisableCheckbox = "";
             * int TempStep = 1;
             * for (int i = 0; i < 8; i++)
             * {
             *  TempStep = TempStep + TempStep;
             *  Literal li = (Literal)e.Item.FindControl(string.Format("Lab{0}_Txt",TempStep));
             *  if (li != null)
             *  {
             *      //判断当前角色所属用户是否享有当前权限
             *      if (!UserData.CheckPageCode(Common.Get_UserID, ApplicationID, s_Mt.M_PageCode, TempStep))
             *      {
             *          DisableCheckbox = "disabled";
             *      }
             *      else
             *      {
             *          DisableCheckbox = "";
             *      }
             *      if ((s_Rp.P_Value & TempStep) == TempStep)
             *      {
             *          dispString = rightString;
             *          SelectTxt = "checked";
             *      }
             *      else
             *      {
             *          dispString = wrongString;
             *          SelectTxt = "";
             *      }
             *      if (CMD == "Edit")
             *      {
             *          dispString = string.Format("<input type=checkbox id='PageCode{0}' name='PageCode{0}' value='{1}'  {2} {3}>", s_Mt.M_PageCode, TempStep, SelectTxt, DisableCheckbox);
             *      }
             *      li.Text = dispString;
             *  }
             * }
             */
            #endregion
        }
Esempio n. 2
0
        /// <summary>
        /// 根据用户ID,获取用户模块权限列表
        /// </summary>
        /// <param name="UserID">用户ID</param>
        /// <returns></returns>
        private static Hashtable Get_sys_RolePermissionTable(int UserID)
        {
            Hashtable PageCodeList = new Hashtable();
            List <sys_RolePermissionTable> List = new List <sys_RolePermissionTable>();
            QueryParam qp = new QueryParam();

            qp.Where = string.Format("Where R_UserID={0}", UserID);
            int       RecordCount = 0;
            ArrayList lst         = BusinessFacade.sys_UserRolesList(qp, out RecordCount);

            foreach (sys_UserRolesTable var in lst)
            {
                Get_RolesPermission(var.R_RoleID, List);
            }

            for (int i = 0; i < List.Count; i++)
            {
                string Key = string.Format("{0}-{1}", List[i].P_ApplicationID, List[i].P_PageCode);
                if (PageCodeList.ContainsKey(Key))
                {
                    sys_RolePermissionTable Rpt = (sys_RolePermissionTable)PageCodeList[Key];
                    if (Rpt.P_Value != List[i].P_Value)
                    {
                        //PageCodeList[Key] = List[i];
                        Rpt.P_Value = Rpt.P_Value | List[i].P_Value;
                    }
                }
                else
                {
                    PageCodeList.Add(Key, List[i]);
                }
            }

            return(PageCodeList);
        }
Esempio n. 3
0
        /// <summary>
        /// 将记录集转为sys_RolePermissionTable实体类
        /// </summary>
        /// <param name="dr">记录集</param>
        /// <returns>sys_RolePermissionTable</returns>
        protected object Populatesys_RolePermission(IDataReader dr)
        {
            sys_RolePermissionTable nc = new sys_RolePermissionTable();

            if (!Convert.IsDBNull(dr["PermissionID"]))
            {
                nc.PermissionID = Convert.ToInt32(dr["PermissionID"]);                                        // 角色应用权限自动ID
            }
            if (!Convert.IsDBNull(dr["P_RoleID"]))
            {
                nc.P_RoleID = Convert.ToInt32(dr["P_RoleID"]);                                    // 角色ID与sys_Roles表中RoleID相
            }
            if (!Convert.IsDBNull(dr["P_ApplicationID"]))
            {
                nc.P_ApplicationID = Convert.ToInt32(dr["P_ApplicationID"]);                                           // 角色所属应用ID与sys_Applicatio
            }
            if (!Convert.IsDBNull(dr["P_PageCode"]))
            {
                nc.P_PageCode = Convert.ToString(dr["P_PageCode"]).Trim();                                      // 角色应用中页面权限代码
            }
            if (!Convert.IsDBNull(dr["P_Value"]))
            {
                nc.P_Value = Convert.ToInt32(dr["P_Value"]);                                   // 权限值
            }
            return(nc);
        }
        protected void Button1_Click(object sender, EventArgs e)
        {
            BusinessFacade.sys_RolePermission_Move(RoleID, ApplicationID);
            string TempPageCodeString = "";

            string[] ArrayInt;
            int      PageCodeValue       = 0;
            sys_RolePermissionTable s_Rt = new sys_RolePermissionTable();

            s_Rt.DB_Option_Action_ = "Insert";
            s_Rt.P_ApplicationID   = ApplicationID;
            s_Rt.P_RoleID          = RoleID;
            foreach (string var in Request.Form)
            {
                if (var.Length > 8)
                {
                    TempPageCodeString = var.Substring(0, 8);
                    if (TempPageCodeString == "PageCode")
                    {
                        PageCodeValue      = 0;
                        TempPageCodeString = var.Substring(8, var.Length - 8);
                        ArrayInt           = Request.Form[var].Split(',');
                        for (int i = 0; i < ArrayInt.Length; i++)
                        {
                            //判断当前用户是否享有当前权限
                            if (UserData.CheckPageCode(GetRoleUserID, ApplicationID, TempPageCodeString, Convert.ToInt32(ArrayInt[i])))
                            {
                                PageCodeValue = PageCodeValue + Convert.ToInt32(ArrayInt[i]);
                            }
                        }
                        s_Rt.P_PageCode = TempPageCodeString;
                        s_Rt.P_Value    = PageCodeValue;
                        BusinessFacade.sys_RolePermissionInsertUpdate(s_Rt);
                    }
                }
            }
            UserData.Move_RoleUserPermissionCache(RoleID);

            UpdateRolesUserToRulesPermission(RoleID, ApplicationID);

            EventMessage.MessageBox(1, "操作成功", string.Format("修改角色({0})应用({1})权限成功!", RoleID, ApplicationID), Icon_Type.OK, Common.GetHomeBaseUrl(string.Format("RolePermissionManager.aspx?RoleID={0}&ApplicationID={1}&CMD=Look", RoleID, ApplicationID)));
        }
Esempio n. 5
0
        /// <summary>
        /// 新增/删除/修改 sys_RolePermission
        /// </summary>
        /// <param name="fam">sys_RolePermissionTable实体类</param>
        /// <returns>返回0操正常</returns>
        public override int sys_RolePermissionInsertUpdate(sys_RolePermissionTable fam)
        {
            int rInt = 0;

            using (SqlConnection Conn = GetSqlConnection())
            {
                SqlCommand cmd = new SqlCommand("sys_RolePermissionInsertUpdateDelete", Conn);
                cmd.CommandType = CommandType.StoredProcedure;
                //设置参数
                cmd.Parameters.Add("@DB_Option_Action_", SqlDbType.NVarChar).Value = fam.DB_Option_Action_; //操作方法 Insert:增加 Update:修改 Delete:删除 Disp:显示单笔记录
                cmd.Parameters.Add("@PermissionID", SqlDbType.Int).Value           = fam.PermissionID;      //角色应用权限自动ID
                cmd.Parameters.Add("@P_RoleID", SqlDbType.Int).Value        = fam.P_RoleID;                 //角色ID与sys_Roles表中RoleID相
                cmd.Parameters.Add("@P_ApplicationID", SqlDbType.Int).Value = fam.P_ApplicationID;          //角色所属应用ID与sys_Applicatio
                cmd.Parameters.Add("@P_PageCode", SqlDbType.VarChar).Value  = fam.P_PageCode;               //角色应用中页面权限代码
                cmd.Parameters.Add("@P_Value", SqlDbType.Int).Value         = fam.P_Value;                  //权限值
                Conn.Open();
                rInt = Convert.ToInt32(cmd.ExecuteScalar());
                cmd.Dispose();
                Conn.Dispose();
                Conn.Close();
            }
            return(rInt);
        }
Esempio n. 6
0
 /// <summary>
 /// 新增/删除/修改 sys_RolePermission
 /// </summary>
 /// <param name="fam">sys_RolePermissionTable实体类</param>
 /// <returns>返回0操正常</returns>
 public abstract int sys_RolePermissionInsertUpdate(sys_RolePermissionTable fam);