在mvc 5和web api 2之间共享owin cookie身份验证

时间:2015-03-30 12:38:57

标签: asp.net-mvc asp.net-web-api owin

我有一个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都输入了相同的机器密钥。任何帮助都将非常感激。

1 个答案:

答案 0 :(得分:1)

以下行是我的问题。它位于我的WebpiConfig.cs文件中的Register方法中。

config.SuppressDefaultHostAuthentication();