我需要从我自己的授权类访问Request
对象。 Controller属性可能不是一个选项,这就是原因。
由于这个系统,我需要编写自己的授权逻辑,这不是问题,我想的是这样的事情:
public class ObjectsController : ApiController
{
private readonly AuthorizationService _auth = new AuthorizationService();
[Route]
public async Task<IHttpActionResult> Get()
{
var obj = new object(); // this is object that we will be working with
// Note: This is just for demo, real object will be something like `Item`
if (obj.IsPublic || _auth.CurrentUser.CanRead(obj))
{
return Ok(obj);
}
return Unauthorized();
}
}
Token
?token=
现在因为我需要检查天气CAN这个用户读了这个Item
(obj)AFAIK我不能使用控制器属性,因为我首先需要从数据库中获取实际项目。我有什么选择?我可以访问当前Request
对象以在AuthorizationService
类中提取所需的值吗?