I received this error when copying a database from one server to another and then tried to bring up a web application. The system user that came over with the database was orphaned from the existing login.
The solution is relatively easy (for one login). Use the sp_change_users_login with the 'update_one' option. This will directly map the user to the SQL login.
exec sp_change_users_login 'update_one', '[your database user]', '[the SQL login]'
Thanks to Pinal Dave's article on this subject.