David M already answered the question but I would like to add one thing:
You don't specify your database, but since you mention "stored procedure" I'm going to assume it's SQL Server. In which case, Views are a more reliable tool for solving this problem.
It's up to you of course, but the way I see it is - why use a fragile security model at the app level (oops, forgot to enable the filter here) when you can use strong security at the database level? If you set specific permissions on specific views then it's virtually impossible for a bug to lead to a security hole.