操作回顾
这个示例突出显示了根据当前业务情况需求保持更新websitemap和Webconfig文件的相当微妙的特性如果希望允许用户匿名浏览站点常见的配置决策是在用户登录时提示他们然后显示他们希望单击的链接但是在允许他们查看该页面之前迫使他们进行身份验证
在这个示例中己经介绍了授权的设置将控制哪些链接可用于每个用户角色然后可使用websitemap文件向用户显示额外的链接链接的内容为用户没有权限访问的内容并且用于指示存在一个工具(在这种情况下是Admin部分中的Update Products工具)但在该链接起作用之前用户需要作为具有足够特权的用户登录
接下来查看代码中最为重要的部分根据站点上Admin文件夹的Webconfig文件代码中添加阴影的行指定只有管理员可以添加或更新产品
<location path=UpdateProductsaspx>
<systemweb>
<authorization>
<allow roles=Administrator />
</authorization>
</systemweb>
</location>
将这段代码与在示例的最后一部分中建立的siteMapNode的附加内容进行比较:
<siteMapNode title=Shop url=Admin/UpdateProductsaspx
description=Update products
roles=Administrator Reporter />
</siteMapNode>
这个特殊的组合将导致记者能够看到链接但不能够访问链接的内容
如果相反的情况为真并且在Webconfig文件中的授权级别包含比websitemap文件更多的角色该授权将获得优先级因此当改变EditSquadaspx页面的权限并且作为Reporter登录时该链接将出现在导航菜单中并且可以访问该页面
<location path=EditSquadaspx>
<systemweb>
<authorization>
<allow roles=Owner Reporter />
</authorization>
</systemweb>
</location>
ASPNET 入门教程完整版
[] [] [] [] [] []