C# .NETMVC:;如何仅向授权用户提供静态文件

C# .NETMVC:;如何仅向授权用户提供静态文件,c#,asp.net-mvc,C#,Asp.net Mvc,我的网站中有静态文件,如: 。。。等 我想在访问时验证用户的身份验证。身份验证应该通过数据库的数据进行检查 My framework:ASP.NET MVC5确保使用web.config中的authorization元素对用户进行身份验证。如果所有静态页面都位于名为StaticPages的文件夹中,请向该文件夹添加一个web.config文件,并插入下面的代码 <location path="/StaticPages"> <system.web> <aut

我的网站中有静态文件,如:

。。。等

我想在访问时验证用户的身份验证。身份验证应该通过数据库的数据进行检查


My framework:ASP.NET MVC5

确保使用web.config中的authorization元素对用户进行身份验证。如果所有静态页面都位于名为StaticPages的文件夹中,请向该文件夹添加一个web.config文件,并插入下面的代码

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


确保使用web.config中的authorization元素对用户进行身份验证。如果所有静态页面都位于名为StaticPages的文件夹中,请向该文件夹添加一个web.config文件,并插入下面的代码

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


< p>而不是将您的文件放在传统的方法<代码> /MyServ/MyFiels.html < /C>中,考虑添加一个操作,该操作在对用户进行细化后返回文件:

[Authorize]
public ActionResult GetFile(string name)
{
   // return the file
}

您也可以使用
OutputCache
属性来缓存静态文件,这样就不会每次都请求它(如果您确信文件内容不会更改)

而不是使用传统方法
/myserver/myfile.html
,,考虑在AUTIZATION用户之后添加一个返回文件的操作:

[Authorize]
public ActionResult GetFile(string name)
{
   // return the file
}

您也可以使用
OutputCache
属性来缓存静态文件,这样它就不会每次都被请求(如果您确定文件内容不会被更改)

我最终通过,重要的是我必须将静态文件的相对路径替换为绝对路径。

我最终解决了这个问题,我必须将静态文件的相对路径替换为绝对路径。

在静态文件夹中创建web.config文件并插入此代码

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

在静态文件夹中创建web.config文件并插入此代码

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


理想情况下,它应该通过控制器和操作方法重定向,您可以在其中实现身份验证和授权。我已经尝试了这一点,但静态html中的javascript文件是相对路径,因此当我在操作中用作源时,它将从,它显示错误。理想情况下,它应该通过控制器和操作方法重定向,您可以在其中实现身份验证和授权。我已经尝试了这一点,但静态html中的javascript文件是相对路径,因此当我在操作中用作源时,它将从中获取javascript文件,它显示错误。。