It doesn't matter if the tables being created are temp tables or not.
Users are granted exec permissions on a stored proc. Stored procs always run as DBO. The security model is as follows. If you want to give a user access to a storeproc the stored proc should be allow to do the full job it is intended to do without worring about all the permissions the user has.
So when writing stored procs all you have to think about is doing the task at hand and not what user at the end will be executing it. A stored proc may have Joe Bloggs granted Exec permission on it. The stored proc can create tables, by default, because it run as DBO as far as security goes. This doesn't mean Joe Bloggs now has rights to create tables.
If a stored proc calls other stored procs you don't have to worry about giving EXEC permissions to the Joe Bloggs for the lower stored procs either. Just give him access to the interface SPs.
I've seen whole databases where the users have had no permissions on the tables and everything was done via a few SPs and no permission changes where automated.
Hope I've been helpful,
Wayne Francis
If you want to get the best response to a question, please check out FAQ222-2244 first