我有一个mvc 5 app,它使用web api 2,api。
MVC应用使用owin cookie身份验证来验证用户,它运行正常。要求是,如果用户登录MVC应用程序,他还应该能够访问API中的安全方法。
当有asp.net表单auth时,我在API和MVC中使用相同的机器密钥来成功验证api中APP的用户。但无法使用owin cookie身份验证。
以下是API和MVC应用程序的auth部分。
API
HttpConfiguration config = new HttpConfiguration();
WebApiConfig.Register(config);
app.UseWebApi(config);
app.UseCookieAuthentication(new CookieAuthenticationOptions
{
AuthenticationType = DefaultAuthenticationTypes.ApplicationCookie,
});
MVC APP
app.UseCookieAuthentication(new CookieAuthenticationOptions
{
AuthenticationType = DefaultAuthenticationTypes.ApplicationCookie,
LoginPath = new PathString("/Login")
});
两个项目中的web.configs都输入了相同的机器密钥。任何帮助都将非常感激。
答案 0 :(得分:1)
以下行是我的问题。它位于我的WebpiConfig.cs文件中的Register方法中。
config.SuppressDefaultHostAuthentication();