木子屋 Dnawo's BLOG

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

👤 dnawo 📅 2010-06-07 👁 6597 👍 0 💬 0 🔄 本站原创
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)

暂无评论。

计算题
评论需审核通过后显示
← 上一篇 ASP.NET导航控件TreeView根据登录用户显示不同的菜单 下一篇 → Cache.Add的absoluteExpiration和sli…