我一直在使用Authorization干预了一段时间,发现了一些帮助我覆盖默认方法的页面。但是,似乎我无法使该属性起作用。我使用Visual Studio 2013调试我的项目,但它仍然没有停止在Authorize方法被重新划分的断点处。如果在将[授权]放在类或甚至单个方法之后Web服务工作,这将不会成为问题。我已经尝试了所有它们似乎它返回的一切都是401 Unauthorized。它甚至都没有进入所需的Web服务。以下是一些解释我问题的示例:
[Authorize]
[RoutePrefix("api/MyWS")]
public class MyWSController : ApiController
{
private Test_UnitOfWork unitOfWork = new Test_UnitOfWork();
[Route("Get"), HttpGet]
public IEnumerable<MyWS> Get()
{
return unitOfWork.MyWSRepository.Get().OrderBy(s => s.Name);
}
OnAuthorization方法的重新定义
public class TokenValidationAttribute : System.Web.Http.AuthorizeAttribute
{
public override void OnAuthorization(HttpActionContext actionContext)
{ ...
控制器调用Web服务
MyWSlist = client.GetSync<IList<MyWS>>("MyWS");
我想知道我在这里做错了什么,看到每当我尝试调试我的项目时,我似乎根本无法输入重写代码,它只返回Unauthorized错误。我也尝试重写其他方法,但没有骰子。 此致
答案 0 :(得分:3)
我使用Visual Studio 2013调试我的项目,但它仍然没有 停止在授权方法被重新划分的断点处。
覆盖 AuthorizeAttribute 后,您希望将其应用于控制器或操作,除非您配置为全局过滤器。
[TokenValidation]
public class MyWSController : ApiController
{
...
}
或者,我在你的问题中遗漏了什么?