ASP.NET returns 401 未授权文件即使 web.config 设置为允许它?
ASP.NET returns 401 Unauthorized for a file even when web.config is set up to allow it?
我可能在这里遗漏了一些简单的东西,但我有一个使用身份和角色的 ASP.NET 网站,我试图限制对包含一些 MP4 视频的文件夹的访问,这样匿名用户就不能直接 link 观看这些视频。
我的 web.config 文件夹中有这个:
<?xml version="1.0" encoding="utf-8"?>
<configuration>
<system.web>
<authorization>
<allow roles="Admin"/>
<allow roles="User"/>
<deny users="*" />
</authorization>
</system.web>
</configuration>
asp:LoginView 控件在此设置下工作正常,但视频 return 出现 401 错误。
我也试过了,结果一样:
<?xml version="1.0" encoding="utf-8"?>
<configuration>
<system.web>
<authorization>
<deny users="?" />
</authorization>
</system.web>
</configuration>
如果我从授权标签中删除所有内容,那么它就可以工作,所以我知道所有路径都是正确的,并且授权设置的某些内容阻止它提供该视频。
我也试过像这样单独调用 Files 目录:
<?xml version="1.0" encoding="utf-8"?>
<configuration>
<system.web>
<authorization>
<allow roles="Admin"/>
<allow roles="User"/>
<deny users="*" />
</authorization>
</system.web>
<location path="Files">
<system.web>
<authorization>
<allow users="*" />
</authorization>
</system.web>
</location>
</configuration>
不幸的是,这使得我可以访问视频 link 即使没有登录(这是我试图阻止的)。
如果我尝试像这样为 Files 子文件夹进行基于角色的设置(我认为这应该与第一个版本没有任何不同)然后我又回到了视频 401,甚至登录后:
<?xml version="1.0" encoding="utf-8"?>
<configuration>
<system.web>
<authorization>
<allow roles="Admin"/>
<allow roles="User"/>
<deny users="*" />
</authorization>
</system.web>
<location path="Files">
<system.web>
<authorization>
<allow roles="Admin"/>
<allow roles="User"/>
<deny users="*" />
</authorization>
</system.web>
</location>
</configuration>
我在这里错过了什么?
我修改了我的答案。我认为以下是您要查找的内容:
How to prevent anonymous users from accessing a file using forms authentication?
我可能在这里遗漏了一些简单的东西,但我有一个使用身份和角色的 ASP.NET 网站,我试图限制对包含一些 MP4 视频的文件夹的访问,这样匿名用户就不能直接 link 观看这些视频。
我的 web.config 文件夹中有这个:
<?xml version="1.0" encoding="utf-8"?>
<configuration>
<system.web>
<authorization>
<allow roles="Admin"/>
<allow roles="User"/>
<deny users="*" />
</authorization>
</system.web>
</configuration>
asp:LoginView 控件在此设置下工作正常,但视频 return 出现 401 错误。
我也试过了,结果一样:
<?xml version="1.0" encoding="utf-8"?>
<configuration>
<system.web>
<authorization>
<deny users="?" />
</authorization>
</system.web>
</configuration>
如果我从授权标签中删除所有内容,那么它就可以工作,所以我知道所有路径都是正确的,并且授权设置的某些内容阻止它提供该视频。
我也试过像这样单独调用 Files 目录:
<?xml version="1.0" encoding="utf-8"?>
<configuration>
<system.web>
<authorization>
<allow roles="Admin"/>
<allow roles="User"/>
<deny users="*" />
</authorization>
</system.web>
<location path="Files">
<system.web>
<authorization>
<allow users="*" />
</authorization>
</system.web>
</location>
</configuration>
不幸的是,这使得我可以访问视频 link 即使没有登录(这是我试图阻止的)。
如果我尝试像这样为 Files 子文件夹进行基于角色的设置(我认为这应该与第一个版本没有任何不同)然后我又回到了视频 401,甚至登录后:
<?xml version="1.0" encoding="utf-8"?>
<configuration>
<system.web>
<authorization>
<allow roles="Admin"/>
<allow roles="User"/>
<deny users="*" />
</authorization>
</system.web>
<location path="Files">
<system.web>
<authorization>
<allow roles="Admin"/>
<allow roles="User"/>
<deny users="*" />
</authorization>
</system.web>
</location>
</configuration>
我在这里错过了什么?
我修改了我的答案。我认为以下是您要查找的内容:
How to prevent anonymous users from accessing a file using forms authentication?