ASP.NET使用Web.sitemap配置用户访问页面权限

Web.sitemap:
<?xml version="1.0" encoding="utf-8" ?>
<siteMap xmlns="http://schemas.microsoft.com/AspNet/SiteMap-File-1.0" >
  <siteMapNode title="SiteMap">
    <siteMapNode url="Default.aspx" title="首页" roles="user1,user2,user3" />
  </siteMapNode>
</siteMap>

Default.aspx:
<%@ Page Language="C#" %>

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">

<script runat="server">

    protected void Page_Load(object sender, EventArgs e)
    {
        if (!IsPostBack)
        {
            string loginUser = "User30";

            //检查权限
            bool checkRole = false;
            if (SiteMap.CurrentNode != null)
            {
                foreach (object user in SiteMap.CurrentNode.Roles)
                {
                    if (loginUser.Equals(user.ToString(), StringComparison.OrdinalIgnoreCase))
                        checkRole = true;
                }
            }

            if (checkRole)
                Label1.Text = "您可以正常访问本页面!";
            else
                Label1.Text = "您无权访问本页面!";
        }
    }
</script>

<html xmlns="http://www.w3.org/1999/xhtml">
<head runat="server">
    <title>Web.sitemap权限设置示例 -Mzwu.Com</title>
</head>
<body>
    <form id="form1" runat="server">
    <div>
        <asp:Label ID="Label1" runat="server" Text="Label"></asp:Label>
    </div>
    </form>
</body>
</html>


评论: 0 | 引用: 0 | 查看次数: 6169
发表评论
登录后再发表评论!