Presumably you’d use some sort of voting plugin and include it on a private page that requires a user to log into. You can just have them register accounts with your WordPress site. Then just have to make sure you don’t show the results until all of the voting has completed!
My client was very particular that she didn’t want them to have to create an account to cast their vote, but she did want to make sure she was only collecting votes from the people on that list. There are about 500 people voting, and most of them aren’t that computer savvy. I debated a password protected page with a polls plugin – but then I don’t have any way to make sure that only the people that are supposed to vote have all voted and didn’t accidentally vote twice, etc.