如何锁定ASP.NET MVC中的路径?

 2023-02-17    364  

问题描述

与MVC 3相比,我首次使用MVC 4玩了什么已更改/添加/等.

开始,我创建了一个空白的MVC 4 Web应用程序,然后开始从头开始构建.

如何锁定ASP.NET MVC中的路径?

我注意到MVC 4中不同的第一件事是以下Web.config设置对网页的可访问性没有影响:

<configuration>
    <location path="">
    <system.web>
      <authorization>
        <deny users="?"/>
      </authorization>
    </system.web>
    </location>
    .....
</configuration>

回到MVC 3中,上面的授权设置将拒绝所有匿名用户访问网站中的任何内容.但是,如果我将相同的设置添加到mvc4 web.config文件中,则匿名在其选择的URL上可以免费统治.

我需要在MVC 4中做什么才能像我在MVC 3中一样锁定所有路径?

推荐答案

看看确保您的ASP.NET MVC 4应用程序和新的允许inonymous属性.

.

您不能使用路由或web.config文件来保护您的MVC应用程序(任何版本).保护您的MVC应用程序的唯一支持方法是应用授权属性…

Quote

MVC使用路线,并且不会将URL映射到WebForms,PHP和传统Web服务器等物理文件位置.因此,使用web.config肯定会在您的网站中打开一个安全孔.

如果将来发生这种情况,则产品团队将进行通信,但是对于现在毫无例外地规则.

示例:

从默认ASP.NET MVC项目(Internet/Intranet)开始.

编辑web.config添加:

<location path="Home">
  <system.web>
    <authorization>
      <deny users="*">
    </authorization>
  </system.web>
</location>

运行项目,默认情况下,您将使用 default Route /Home/Index,然后看到内容,只需绕过Web.config而不会更改默认模板.为什么?因为ASP.NET管道将请求的URL与Web.config中指定的位置进行比较.但是, 在管道中执行了授权事件(默认路由或自定义路由),并允许访问所谓的限制区域.

此外,任何MVC Redirect()还将通过与授权管道事件发生后的路由再次相同的安全措施.

.

我认为任何人都不应该接受 sorta工作安全性.第一次做正确的操作,不要懒惰,并使用未设计的东西与特定技术一起使用.

以上所述是小编给大家介绍的如何锁定ASP.NET MVC中的路径?,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对77isp云服务器技术网的支持!

原文链接:https://77isp.com/post/34259.html

=========================================

https://77isp.com/ 为 “云服务器技术网” 唯一官方服务平台,请勿相信其他任何渠道。