Devo estar usando um IAuthorizationFilter se eu quiser criar um recurso restrito ApiKey com ASP.NET MVC4?

Eu tenho algumas rotas simples que desejo restringir através de um simples parâmetro de querystring. Se a chave está incorreta ou não é fornecida, então eu desejo lançar umNotAuthorizedException.

Por favor, não sugira que eu use o WebApi ou o equiv - ainda não posso neste cenário.

Então, eu não tenho certeza se eu deveria estar implementando umIAuthorizationFilter ou implementar umaIActionFilter ou até mesmo outra coisa.

Minha lógica de código?

Verifique a querystring pela chave.Verifique meu RavenDb (repositório) para um usuário com essa chave / valor.

Se eles falharem em qualquer um desses testes, então jogue oNotAuthorizedException.

Eu estou supondo que eu iria decorar um método de ação com este filtro. Eu também estou supondo que eu precisaria passar no meu repositório para este método de ação também?

Alguma sugestão por favor?

questionAnswers(1)

yourAnswerToTheQuestion