I think it comes down to a battle of security models. The database administrator can insist that you do the first. Being more pragmatic, I will most likely pass the tenant ID to my SPs or requests from the application level.
I would support this with a series of unit tests that would guarantee that one tenant would never see other tenant data, and I would only keep the current tenant on the server in a session or simply, never in a cookie or in URLs, or where or else that can be hacked on the client.
, .
, , , , , , , ..