Temp tables are either per-connection or global. There's no concept of a per-user temp table.
What you can do is give each user their own schema, set that as their default schema and create a permanent table in that schema. That way, each user will see their own permanent table.
If user Mary queries Table1 she gets Mary.Table1, while if user Jeff queries Table1 he gets Jeff.Table1
Be careful if you go that route. If you allow the table to be created and dropped, you need to give out sufficient permissions, which may not be such a good thing for security.
Gail Shaw
Microsoft Certified Master: SQL Server, MVP, M.Sc (Comp Sci)
SQL In The Wild: Discussions on DB performance with occasional diversions into recoverability
We walk in the dark places no others will enter
We stand on the bridge and no one may pass