授权不适用于API调用

时间:2017-09-18 05:56:42

标签: asp.net-mvc authentication asp.net-web-api oauth authorization

我正在构建一个同时具有WebSite和WebApi的.NET FW WebApp。

我使用Visual Studio 2015模板项目设置OAuth 2.0, 有点变化。

注册/登录和退出以及控制器上的[AuthorizeAttribute]工作正常!

另外,我有几个class Foo:ApiController{}来处理Ajax请求,
承载令牌的情况下效果很好。

当我需要向API提交 Multipart-Formdata 时遇到问题。
并且看到User.Identity不存在,[授权]未通过。 (即使Controller的请求(不是ApiController)也顺利进行。

我对Web开发很陌生,所以我可能错过了一些基本的东西。

  • 使用Form.submit()传递的已检查Cookie与任何其他Page请求相同。

  • 即使来自ApiController的简单GET请求也无法授权。

    1. 我应该发布哪些信息以帮助您?
    2. 我的ControllerApiController类在身份验证方面有何区别?授权?

1 个答案:

答案 0 :(得分:1)

我知道这是基本的东西。

对于谁,谁不熟悉Visual Studio 2013 Web-API项目模板。

Auth&您网站的身份验证 set(CMAKE_CXX_STANDARD 14) 定义 而为WebApi 时,它位于Startup.Auth.cs

<{1>} WebApiConfig.cs中有一行WebApiConfig::Register(...),可防止已配置的CookieAuthentication对config.SuppressDefaultHostAuthentication();次调用起作用。

希望这有助于任何人