文章详情

  • 游戏榜单
  • 软件榜单
关闭导航
热搜榜
热门下载
热门标签
php爱好者> php文档>多种权限判定问题

多种权限判定问题

时间:2010-11-23  来源:Serabert~

示例如下:

代码
<?xml version="1.0" encoding="utf-8" ?>
<Operators>
<Operator name="昨天" pid="001">
<operatorren username="小明" userid="AD001" />
<operatorren username="小强" userid="AD002" />
<operatorren username="小花" userid="AD003" />
</Operator>
<Operator name="今天" pid="002">
<operatorren username="小鸟" userid="AD004" />
<operatorren username="菜鸟" userid="AD005" />
<operatorren username="大鸟" userid="AD006" />
</Operator>
<Operator name="明天" pid="003">
<operatorren username="蚂蚁" userid="AD007" />
<operatorren username="蟑螂" userid="AD008" />
<operatorren username="黄雀" userid="AD009" />
</Operator>
</Operators>

其中昨天,今天和明天就是不同形式的权限名称,在各名称下都有可以设置访问的管理员名称和id(如:名称,小明;id,AD001)

然后我们可以写个公共方法来访问xml文档:

示例如下:

代码
using System.Xml;

public static bool IsProAdmin(string admin, string paths, string pid)
{
int flag = 0;
string XmlUrl = HttpContext.Current.Server.MapPath(paths);
XmlDocument xmldoc
= new XmlDocument();
xmldoc.Load(XmlUrl);
XmlNodeList nodelist
= xmldoc.SelectSingleNode("Operators").ChildNodes;
foreach (XmlNode xn in nodelist)
{
if (xn.Attributes["pid"].Value.Trim() == pid)
{
XmlNodeList xl
= xn.ChildNodes;
foreach (XmlNode xf in xl)
{
if (xf.Name.ToLower() == "operatorren")
{
if (xf.Attributes["userid"].Value.Equals(admin))
{
flag
= 1;
break;
}
}
}
}
}
if (flag == 1)
{
return true;
}
else
{
return false;
}
}

这时我们就可以在需要做权限判定的页面来调用该方法即可,

示例如下:

string strXmlUrl = "页面权限xml文件地址";
IsProAdmin(Page.User.Identity.Name, strXmlUrl, "001")
 注:该例子是调用"昨天"权限判定
相关阅读 更多 +
排行榜 更多 +
辰域智控app

辰域智控app

系统工具 下载
网医联盟app

网医联盟app

运动健身 下载
汇丰汇选App

汇丰汇选App

金融理财 下载