位置提供者

时间:2020-03-05 18:40:41  来源:igfitidea点击:

我们需要在主ASP.NET应用程序中替换菜单系统。因此,很自然地,我们正在研究ASP.NET的" SiteMapProvider"和" Menu"控件。但是,我们还需要足够的安全性,以防止用户直接输入他们不应该访问的URL。我们可以通过在Web.config中放置<location>条目并单独保护它们来实现这一点,但这将成为在多个Web服务器上进行管理的PITA。

是否有一个提供者可以用来提供与<location>条目等效的条目?我找不到一个,鉴于ConfigurationLocation类的存在,这有点令人沮丧。

另外,是否在SiteMapProvider中缺少配置选项,该选项会限制用户访问他们不应该访问的URL?

解决方案

回答

我们为什么不创建权限和配置文件来管理用户可以看到的夹心页面?
我通常创建一个实现IPrincipal安全接口的用户类。在对应用程序的每个请求中,我们都检查特定用户的权限,并输出该用户允许的SiteMap节点。