如何允许对owin管道中的索引进行匿名身份验证?

时间:2018-04-27 14:24:56

标签: c# asp.net-mvc authentication owin

MVC 5应用程序中的索引页面返回未经授权的状态代码。 我在IIS 10.0下配置了我的应用程序,没有任何身份验证来管理owin管道中的身份验证:

<system.web>
    <compilation debug="true" targetFramework="4.7.1" />
    <httpRuntime targetFramework="4.7.1" />
    <authentication mode="None" />
    <pages>
        <namespaces>
            <add namespace="System.Web.Helpers" />
            <add namespace="System.Web.Mvc" />
            <add namespace="System.Web.Mvc.Ajax" />
            <add namespace="System.Web.Mvc.Html" />
            <add namespace="System.Web.Routing" />
            <add namespace="System.Web.WebPages" />
        </namespaces>
    </pages>
</system.web>
<system.webServer>
    <validation validateIntegratedModeConfiguration="false" />
    <handlers>
        <clear />
        <add name="Owin" verb="" path="*" type="Microsoft.Owin.Host.SystemWeb.OwinHttpHandler, Microsoft.Owin.Host.SystemWeb"/>
    </handlers>
</system.webServer>

这里我的控制器允许匿名进行索引操作:

[Authorize]
public class SPAController : Controller
{
    [AllowAnonymous]
    public ActionResult Index()
    {
        return View();
    }
}

我自己的管道,我怀疑我错过了什么:

// Enable static file serving for the current application before authentication phase
app.UseStaticFiles(new StaticFileOptions() {
    RequestPath = new PathString(""),
    FileSystem = new PhysicalFileSystem(HostingEnvironment.MapPath("~/"))
});

更新

我也尝试了这个没有成功:

[Authorize]
public class SPAController : Controller
{
    [OverrideAuthorization]
    [AllowAnonymous]
    public ActionResult Index()
    {
        return View();
    }
}

且没有属性

0 个答案:

没有答案