在ASP.NET Web API中使用AuthorizeAttribute

时间:2012-07-16 06:20:14

标签: asp.net-web-api

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

[Authorize]
public IEnumerable<User> GetAllUsers()

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

1 个答案:

答案 0 :(得分:2)

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

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

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

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