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