问题标签 [securitytrimmingenabled]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
asp.net - XmlSiteMapProvider 如何检查用户是否处于指定角色?
我推出了自己的 SiteMapProvider 继承System.Web.XmlSiteMapProvider
。
我想覆盖检查用户是否处于 siteMapNode 属性中指定的角色的逻辑roles
:
我怎样才能做到这一点?XmlSiteMapProvider 调用哪个类的成员来检查 if securityTrimmingEnabled="true"
?
asp.net - 是否可以使用 securityTrimmingEnabled=true 阻止页面打开
我有自定义 SiteMapProvider 和 RoleProvider 可以正常工作:如果请求的页面中未提及当前用户的角色,则IsAccessibleToUser
返回。false
SiteMapNode.Roles
所以面包屑或菜单不显示项目。
但是现在用户仍然可以直接键入显示的 URL 并打开一个页面。我怎样才能阻止这种行为?
我还有下一个 Web.config 设置:
asp.net - 基于角色的菜单不起作用,我做错了什么?
这是概述
- 创建会员资格
- 创建角色
- 创建站点地图(修改为使用角色=“管理员”)
- 使用菜单智能标签中的新数据源创建菜单并将 web.sitemap 绑定到菜单
- 修改 web.config 以启用 securityTrimmingEnabled
它是这样工作的。如果我将角色分配给站点地图中的根节点,则菜单对于除分配给它的角色之外的所有其他角色都是正确隐藏的。
如果我在其中一个子菜单中使用角色,它就不起作用。有谁知道为什么?
网站地图
web.config 文件(修改)
asp.net - asp.net SiteMap 中的 SecurityTrimming
我在我的网站上遇到了奇怪的问题,我有菜单,我正在处理它asp:menu
,SiteMap
现在我想限制menu's
基于roles
,所以我securityTrimmingEnable="true"
在 web.config 中使用,现在我的问题是我有一些需要启用的菜单项由 2 种类型的用户(管理员和登录用户),现在在Web.Sitemap
文件中,我创建了siteMapNode
在菜单中使用的,这里我添加了roles
属性来指定哪些类型的用户可以访问菜单,有一个主菜单应该只能由这 2 个用户访问,其他任何人都不能访问(即非匿名),现在我找不到在roles
属性中指定多个角色的方法,我也尝试过指定*
,但这似乎也适用于非匿名用户,即不是我的要求,这是我的样本web.sitemap
文件
在上述情况下,主页菜单仅对管理员可用。现在,如果我指定*
使其对非管理员但已登录的用户可用,它也适用于未登录的用户。
无论如何,我可以让管理员和登录用户可以使用上述菜单。
下面是我的 web.config 设置:
clickable - MVCSiteMapProvider:启用安全修剪的不可点击节点
我正在使用 MVSiteMapProvider,v4.6.1
这是我的问题:我的菜单中有一部分只对管理员可见。我通过启用安全修剪和装饰我的控制器和/或控制器方法来定义修剪标准来实现这一点。
管理任务
- 添加
- 编辑
- 消除
我需要做的是使“AdminTasks”节点不可点击,但仍然只对管理员可见。
我观察到的行为是,如果我clickable="false"
在站点地图中标记“AdminTasks”,则无论用户是否为管理员,该节点都会显示给所有人。看起来,在标记的节点clickable='false'
中没有执行安全修整。
我的假设是,在没有过多探索代码的情况下,当节点被标记时clickable='false'
,SiteMapProvider 不会尝试解析任何路线(因为导航目的无论如何都不需要它);但这样做时,它不会检查控制器中的装饰,因此会跳过安全修整。
我的假设正确吗?有没有办法让一个不可点击的节点仍然被安全修剪?
谢谢