.NET之后台用户权限管理实现(2)


示例代码1.1
 /// <summary>
         /// 生成角色二进制字符串
         /// </summary>
         /// <param></param>
         /// <returns>二进制序列</returns>
         private string GenerateRoleAction(string str)
         {
            //虚拟表构建两列存储权限序列号及其状态
             DataTable dt = new DataTable();
             DataColumn col1 = new DataColumn("funno", typeof(int));
             dt.Columns.Add(col1);
             DataColumn col2 = new DataColumn("flag");
             dt.Columns.Add(col2);

             string[] strarray = str.TrimEnd('|').Split('|');//截取任意两个二进制元素之间竖线
             for (int i = 0; i < strarray.Length; i++)
             {
                 DataRow dr = dt.NewRow();
                 dr[0] = strarray[i].Split(',')[0];//权限序列号
                 dr[1] = strarray[i].Split(',')[1];//权限状态,用true和false区别记录
                 dt.Rows.Add(dr);
             }

             dt.DefaultView.Sort = "funno asc";
             DataTable dttemp = dt.DefaultView.ToTable();
             //将状态列转换为二进制字符
             string s = "";
             for (int j = 0; j < dttemp.Rows.Count; j++)
             {
                 if (dttemp.Rows[j]["flag"].ToString().ToLower() == "true")
                 {
                     s += "1";//选中状态(true,即具备该权限)用1表示
                 }
                 else
                 {
                     s += "0";//非选中状态(false,即不具备该权限)用0表示
                 }
             }
             return s;//返回象征权限的二进制字符串
         }

内容版权声明:除非注明,否则皆为本站原创文章。

转载注明出处:https://www.heiqu.com/wjdzjy.html