我有一个web表单应用程序,它有位置路径安全,这工作得很好。
我有一个链接到主页上的路径,但我想使它在后面的代码不可见,如果他们没有安全的文件夹。
我尝试了一些事情,如:
System.Security.AccessControl.DirectorySecurity ds = Directory.GetAccessControl(string.Format("{0}/{1}",HttpRuntime.AppDomainAppPath, adminFolder));
,它返回true,因为我有访问权限,我相信这是由于。net处理安全。
我考虑将安全组添加到密钥中,并且只是检查用户是否在其中一个角色中,但似乎无法找到如何将密钥添加到允许的角色中。
下面是我的web配置部分,其中显示了可以访问文件夹的角色1:
<location path="App_Admin">
<system.web>
<authorization>
<allow roles="role1,role2,role3,role4"/>
<deny users="*"/>
</authorization>
</system.web>
</location>
如果您能提供帮助,我将不胜感激。
最简单的方法是使用SiteMap和安全节点。你试过吗?http://msdn.microsoft.com/en-us/library/ms178429 (v =应用程序). aspx。阅读这篇文章。当您看到"创建站点地图"one_answers"启用安全修剪"时,它们讨论的是根据您的角色切换可见性。