A few ways.
1) You could create a new wallet for each user. Something like
https://www.blocktrail.com/ works best for that. Not sure how change addresses work though. I havnt looked into it.
2) How I usually do for customers... Use one wallet with all funds in, Use a Database to determine how much each user has by user id, only allow user to withdraw that much.