0

我正在开发一个 ASP Web API。我将它集成到 ThinkTecture Server v2.0(我已在本地配置)。有那么一刻,我以为我已经配置好了,因为我将 [Authorize] 属性添加到主控制器,我的 API 将我重定向到 STS,然后我输入了我的凭据,然后我被重定向回了我的 Web API。但是后来我在不同的文件夹(/api/TheController)中创建了一个控制器,当我调用(此时我已通过身份验证)此控制器中的一个操作时,我收到“此请求的授权已被拒绝”消息。

我注意到,当我调用 Home 控制器时,User.Identity 已经过身份验证,但当我调用另一个控制器(另一个文件夹中的那个)时却没有。

任何想法可能是什么问题?提前非常感谢。

4

1 回答 1

0

在任何情况下 - API 都不应该进行重定向。我猜您配置了 WS-Federation - 这是针对 Web 应用程序而不是 API(例如 system.identityModel.services 配置部分)。

对于 API,您需要查看 OAuth。检查 IdentityServer 示例和 wiki。

于 2014-03-21T04:58:49.650 回答