我在我的 WebApi 中使用ThinkTecture 的基于资源的授权。
我正在尝试测试我需要检查函数内部访问权限的控制器之一。但是现在,我不能再测试这个函数了,因为我不能模拟一个扩展方法,因为它是一个 nuget 方法,我不能修改这个类来注入另一个值。
我的控制器如下所示:
public class AlbumController : ApiController
{
public async Task<IHttpActionResult> Get(int id)
{
if (!(await Request.CheckAccessAsync(ChinookResources.AlbumActions.View,
ChinookResources.Album,
id.ToString())))
{
return this.AccessDenied();
}
return Ok();
}
}
ResourceAuthorizationManager 像这样设置到启动中:
app.UseResourceAuthorization(new ChinookAuthorization());
ThinkTecture 项目的源代码在这里。
谢谢您的帮助