ASP.NET 身份 - 保护目录免受未经身份验证的用户的侵害
ASP.NET Identity - protecting a directory from unauthenticated users
我正在使用 ASP.NET 4.5 OWIN Identity 并试图阻止除经过身份验证的用户之外的所有用户访问目录。该目录包含原始文件,因此无法将它们包装在 ASP LoggedInTemplate 标记中。
当我尝试阻止匿名用户访问该目录时,它失败了。
我尝试将以下内容添加到 Web.config 主文件中:
<system.web>
<authorization>
<deny users="?" />
</authorization>
</system.web>
<location path="/docs">
<system.web>
<authorization>
<deny users="?" />
</authorization>
</system.web>
</location>
这样做会导致服务器出现 500 错误,并突出显示 location path="/docs" 行作为错误源。这是一个托管解决方案,因此更改 IIS 服务器配置以允许覆盖的选项对我不可用,尽管对于遇到此问题的任何人来说这似乎是一个潜在的解决方案。
我现在已经从主 web.config 中删除了上面的内容,并在我想要保护的目录中添加了一个单独的 web.config 文件。新的 web.config 包含以下内容:
<?xml version="1.0"?>
<configuration>
<system.web>
<authorization>
<deny users="?" />
</authorization>
</system.web>
</configuration>
这没有错误,但允许未经身份验证的用户访问该文件夹,这是我试图阻止的。
任何描述如何解决此问题的文章的任何想法或指示将不胜感激。
针对我的环境的解决方案是使用子目录中的 web.config 文件,但要为相关文件类型添加自定义处理程序定义。
<?xml version="1.0"?>
<configuration>
<system.web>
<authorization>
<deny users="?" />
</authorization>
</system.web>
<system.webServer>
<handlers>
<add name="PDFHandler" verb="*"
path="*.pdf"
type="System.Web.StaticFileHandler"
resourceType="Unspecified" />
</handlers>
</system.webServer>
</configuration>
Web 服务器随后只允许经过身份验证的用户访问子目录中的文件。
这篇文章让我找到了解决方案:http://www.primaryobjects.com/CMS/Article112
我正在使用 ASP.NET 4.5 OWIN Identity 并试图阻止除经过身份验证的用户之外的所有用户访问目录。该目录包含原始文件,因此无法将它们包装在 ASP LoggedInTemplate 标记中。
当我尝试阻止匿名用户访问该目录时,它失败了。
我尝试将以下内容添加到 Web.config 主文件中:
<system.web>
<authorization>
<deny users="?" />
</authorization>
</system.web>
<location path="/docs">
<system.web>
<authorization>
<deny users="?" />
</authorization>
</system.web>
</location>
这样做会导致服务器出现 500 错误,并突出显示 location path="/docs" 行作为错误源。这是一个托管解决方案,因此更改 IIS 服务器配置以允许覆盖的选项对我不可用,尽管对于遇到此问题的任何人来说这似乎是一个潜在的解决方案。
我现在已经从主 web.config 中删除了上面的内容,并在我想要保护的目录中添加了一个单独的 web.config 文件。新的 web.config 包含以下内容:
<?xml version="1.0"?>
<configuration>
<system.web>
<authorization>
<deny users="?" />
</authorization>
</system.web>
</configuration>
这没有错误,但允许未经身份验证的用户访问该文件夹,这是我试图阻止的。
任何描述如何解决此问题的文章的任何想法或指示将不胜感激。
针对我的环境的解决方案是使用子目录中的 web.config 文件,但要为相关文件类型添加自定义处理程序定义。
<?xml version="1.0"?>
<configuration>
<system.web>
<authorization>
<deny users="?" />
</authorization>
</system.web>
<system.webServer>
<handlers>
<add name="PDFHandler" verb="*"
path="*.pdf"
type="System.Web.StaticFileHandler"
resourceType="Unspecified" />
</handlers>
</system.webServer>
</configuration>
Web 服务器随后只允许经过身份验证的用户访问子目录中的文件。
这篇文章让我找到了解决方案:http://www.primaryobjects.com/CMS/Article112