gpt4 book ai didi

asp.net-mvc - IIS 和 MVC 的授权问题

转载 作者:行者123 更新时间:2023-12-02 06:12:34 25 4
gpt4 key购买 nike

设置授权时遇到一些问题。
首先我得到:

<authorization>
<deny users="?" />
</authorization>

所以我拒绝所有未知用户,然后允许他们查看这些页面:
<location path="Default.aspx">
<system.web>
<authorization>
<allow users="*" />
</authorization>
</system.web>
</location>

<location path="Public">
<system.web>
<authorization>
<allow users="*" />
</authorization>
</system.web>
</location>

现在的问题.. 他们可以访问公共(public)页面和 Default.aspx .. 但不能访问 www.mydomain.com 或 www.mydomain.com/.. 所以 www.mydmain.com/Default.aspx 工作正常。
那么如何使这些工作?

最佳答案

请记住,WebForms 和 MVC 之间的 protected 资源存在根本区别。在 WebForms 中,您要保护的资源是页面本身,并且由于页面存在于磁盘上的众所周知的路径中,因此您可以使用 Web.config 来保护它们。但是,在 MVC 中,您尝试保护的资源实际上是 Controller 和操作,而不是单独的路径和页面。如果您尝试保护路径而不是 Controller ,您的应用程序可能存在安全漏洞。

在 MVC 中,默认情况下,所有 Controller + 操作都可供所有用户访问,包括经过身份验证的用户和访客。为了保护 Controller 或操作,提供了 [Authorize] 属性。见 http://www.asp.net/learn/mvc/#MVC_Security了解更多信息。

简而言之,对于您的应用程序来说,您希望将除默认 Controller 和具有 [Authorize] 属性的公共(public) Controller 之外的每个 Controller 都赋予属性。

关于asp.net-mvc - IIS 和 MVC 的授权问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/570769/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com