Como filtrar o resultado em MVC 4 com base no usuário

Eu tenho uma autenticação personalizada, quando o usuário faz o login, eu mantenho as informações necessárias em Session / Cache ...

Então, eu tenho algumas Views com DropDowns que devem mostrar dados filtrados por User id ... Gostaria de saber qual a melhor maneira de filtrar esse resultado ...

1 - Direto no Controlador?

...   
Model.MyList = repository.GetAll().Where(x => x.User.Id == userId);
return View(Model);

2 - Criando um filtro de ação (como posso fazer isso sem consultar dados desnecessários do banco de dados)

3 - Outro caminho?

O problema com 1 é que tenho várias visualizações que têm o mesmo menu suspenso, então terei que repetir o mesmo código.

questionAnswers(7)

yourAnswerToTheQuestion