我在ASP.NET Web API方法中使用了[Authorize]属性
[Authorize]
public IEnumerable<User> GetAllUsers()
从应用程序中,我可以毫无问题地访问此方法,因为我的用户已经过身份验证。但是,有什么方法可以在调用时为此方法指定用户名,密码,以便我可以实现REST API?这是从独立应用程序或浏览器调用时。
答案 0 :(得分:2)
我并不完全理解您的问题,但System.Web.Http.AuthorizeAttribute
检查Thread.CurrentPrincipal
以查看用户是否获得授权。
如果您需要,可以专门授予用户权限,如下所示:
[Authorize(Users = "User1")]
public IEnumerable<User> GetAllUsers()
但身份验证过程完全取决于您。我建议通过消息处理程序对用户进行身份验证,然后在那里填充Thread.CurrentPrincipal
。然后,根据您的应用使用AuthorizeAttribute
。