我想使用ASP.NET WebAPI 2,但使用我自己的身份验证机制。我试图删除VS 2013中SPA模板附带的所有代码,以及普通的WebAPI模板。如果我从项目中删除所有与auth相关的代码并且没有在其中配置OWIN的Startup.Auth,我总是会收到错误,OWIN中间件身份验证没有设置,我无法获得任何控制者的行动。
在WebAPI 2中使用自己的代码实现基于令牌的身份验证的正确方法是什么,绕过了OWIN主机.dll中的内容,包括它的配置要求?< / p>
答案 0 :(得分:11)
与John回答类似,但您可以在创建WebAPI时删除OWIN。更清洁的方法。
要做到这一点: 选择&#34;更改身份验证&#34;
然后选择&#34; No Authenciation&#34;
现在你的项目没有OWIN的东西
干杯 巧克力
答案 1 :(得分:2)
您可以使用空白的Asp.Net模板并将Web Api 2添加为nuget包,或从其他启动器模板中删除未使用的内容。
答案 2 :(得分:1)
您可以注释掉以下代码行:
Startup.cs:
//[assembly: OwinStartup(typeof(Yourpoject.Startup))]
public void Configuration(IAppBuilder app)
{
//ConfigureAuth(app);
}
WebApiConfig.cs:
//// Web API configuration and services
//// Configure Web API to use only bearer token authentication.
//config.SuppressDefaultHostAuthentication();
//config.Filters.Add(new HostAuthenticationFilter(OAuthDefaults.AuthenticationType));