控制页面访问总结

 

asp.net 2.0
使用SiteMap ,web.config,roleMange,treeview(等能使用sitemap文件的一些导航控件)
控制页面访问总结
  1,自然需要提供驱动Site Map Providers,在web.config文件中设置Site Map Providers
      <siteMap defaultProvider="XmlSiteMapProvider" enabled="true">
      <providers>
        <add name="XmlSiteMapProvider"
    description="SiteMap provider which reads in .sitemap XML files."
    type="System.Web.XmlSiteMapProvider, System.Web, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a"
    siteMapFile="Web.sitemap"
    securityTrimmingEnabled="true"/>
      </providers>
    </siteMap>
    
  2,在Web.sitemap文件中相应的siteMapNode节点上加上roles属性即可。但只可以加在一级节点上,二级节点上无效,例子如下。设置过后,用户就看不到不能看的导航按钮
<?xml version="1.0" encoding="utf-8" ?>
<siteMap xmlns=" http://schemas.microsoft.com/AspNet/SiteMap-File-1.0" >
    <siteMapNode url="" title="系统管理"  description="" roles="系统管理帐户,用户管理员">
        <siteMapNode url="~/System/UserManage.aspx" title="用户管理"  description=""/>
        <siteMapNode url="~/System/CreateUser.aspx" title="创建用户"  description=""/>
        <siteMapNode url="~/System/CityManage.aspx" title="地市维护"  description=""/>  
    </siteMapNode>
</siteMap>
  3,在每个文件目录下另加web.config,什么逗号隔开就不说了。这样用户不能夸权限访问页面
   <?xml version="1.0"?>
<configuration>
<system.web>
  <authorization>
   <allow roles="管理员" />
   <deny users="*"/>
  </authorization>
</system.web>
</configuration>

4,2008-11-25,后面实际用到的时候,发生了很怪异的问题。在<allow roles="管理员" /> 中,verbs,msdn默认是*,即是默认启用GET,HEAD,POST.实际碰到的问题是从动态生成的超链接过去的话,老是通不过角色认证,试了多次,以显示指定verbs="GET,HEAD,POST".角色验证通过。然后,引发出另一个问题。在我的电脑上可以后。其他电脑有的行,有点不行。气恼下,把不行的电脑的ie都关了,居然可以了。
添加这两个怪异问题,希望对也遇见这种问题的兄弟有帮助
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值