我们需要替换主ASP.NET应用程序中的菜单系统。很自然地,我们正在查看ASP.NET SiteMapProvider
和Menu
控件。但是,我们还需要足够的安全性来防止用户直接输入他们无权访问的URL。我们可以通过在 web.config 中添加<location>
条目并单独保护它们来实现这一目标,但这将是一个跨多个Web服务器管理的PITA。
是否可以使用Provider
来提供等同于<location>
条目的内容?我找不到一个,鉴于ConfigurationLocation类的存在,这有点令人沮丧。
或者,我们在SiteMapProvider中缺少一个配置选项,它会限制用户访问他们不应该访问的URL吗?
答案 0 :(得分:1)
为什么不创建权利&amp;用于管理用户可以看到的页面的配置文件? 我通常创建一个实现IPrincipal安全接口的用户类。在对应用程序的每个请求中,检查特定用户的权限并输出此用户允许的SiteMap节点。