示例代码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;//返回象征权限的二进制字符串
}
.NET之后台用户权限管理实现(2)
内容版权声明:除非注明,否则皆为本站原创文章。