我在使用表单身份验证时遇到问题。根web.config设置为拒绝访问具有以下结构的所有未经过身份验证的用户:
控制器
文件夹 - Webforms
Folder1 - Webforms
型号
公用文件夹 - 使用web.config进行Webforms以允许公共访问
查看
web.config with deny
我还需要公开家庭控制器,但是如果我将authorize属性保留在root web.config之外仍然会阻止访问views文件夹。我想避免做下面的事情,我可以避免它。
控制器
Web表单
-folder
-Folder2
-web.config拒绝未经授权的用户
查看
具有公共访问权限的web.config
有没有人想让第一个目录结构有效?
答案 0 :(得分:0)
我无法看到配置部分的实际外观。您可以编辑帖子并将这些部分放入代码示例块(文本编辑器工具栏中带有二进制的按钮)。
目标是锁定WebForms的所有内容并使MVC驱动位公开吗?
(本来可以把它放在评论中,但我还没有回复点留下评论。)
[编辑] 为了提供有用的东西,但承认我仍然不知道你要锁定哪些位的最终目标,在MVC方面,你是否可以在控制器中使用安全属性?例如,您可以将[Authorize(Roles =“YourRoles”)]添加到特定操作或控制器顶部,而不是尝试在web.config中锁定操作(或整个控制器)。这种方法的优点和缺点,但我喜欢它,因为我不必乱用配置文件,这是我根本不喜欢的东西。这当然是假设您正在使用标准的ASP.NET成员资格提供程序,但即使您已经使用了自己的成员资格提供程序,您也应该能够以类似的方式完成任务并进行一些额外的工作。只是一个想法...