3

我在 ASP.NET Web API 方法中使用了 [Authorize] 属性

[Authorize]
public IEnumerable<User> GetAllUsers()

从应用程序中,我可以毫无问题地访问此方法,因为我的用户已经过身份验证。但是,有什么方法可以在调用时指定此方法的用户名和密码,以便实现 REST API?这是从独立应用程序或浏览器调用时。

4

1 回答 1

2

我不完全理解您的问题,但会System.Web.Http.AuthorizeAttribute检查Thread.CurrentPrincipal用户是否被授权。

如果需要,您可以专门授予用户权限,如下所示:

[Authorize(Users = "User1")]
public IEnumerable<User> GetAllUsers()

但是身份验证过程完全取决于您。我建议通过消息处理程序对用户进行身份验证,然后在Thread.CurrentPrincipal那里填充。然后,使用AuthorizeAttribute您认为适合您的应用程序的 。

于 2012-07-16T10:57:02.650 回答