flo*_*oat 0 asp.net-mvc web-config
我试图通过webconfig为应用程序文件夹"/"拒绝匿名用户访问文件和文件夹,并允许访问特殊的控制器路径("共享","Verfolgung").
"共享"路径的配置有效,但访问"Verfolgung"需要验证.
也许你告诉我什么是错的?
问候,漂浮
web.config的一部分:
<authentication mode="Forms">
<forms loginUrl="~/Account/LogOn" path="/" protection="All" timeout="2880" />
</authentication>
<location path="Verfolgung">
<system.web>
<authorization>
<allow users="*" />
</authorization>
</system.web>
</location>
<location path="Shared">
<system.web>
<authorization>
<allow users="*" />
</authorization>
</system.web>
</location>
Run Code Online (Sandbox Code Playgroud)
在ASP.NET MVC中,您不应该使用web.config中的location元素.而Web表单引擎映射到磁盘上的物理文件,而MVC引擎使用路由.这意味着您可能无意中允许通过自定义路径访问"受保护的控制器".
保护ASP.NET MVC应用程序的推荐方法是使用Authorize属性,如下例所示:
public class HomeController : Controller
{
[Authorize]
public ActionResult Index()
{
return View();
}
}
Run Code Online (Sandbox Code Playgroud)
控制器操作是您要保护的而不是路径.在ASP.NET MVC安全性方面,Levi Broderick对这个问题非常直言不讳:
| 归档时间: |
|
| 查看次数: |
2052 次 |
| 最近记录: |