STEPS TO REPRODUCE
1.- Instance a Polls Display portlet with a new poll
2.- Add the permission "Add Vote" for the Guest role for the previous created poll
3.- Log out and vote using the Guest user
4.- Open a Private browsing window and vote
A new vote should be possible. In previous versions (6.0.x) it was possible
An error message is displayed "You may only vote once"
In previous versions BaseServiceImpl.getUser() thows a PrincipalException but not anymore and in 6.2 returns the default user.
In previous version in PollsVoteServiceImpl.addVote() a new userId was created.
This implementation works but, it creates orphaned data (userId)?
6.2. changes the way PrincipalThreadLocal is populated. For unauthentitated users, the thread local contains the default user id. As a result, the polls voting service logic stops working. Solution is to change that specific piece of logic.
We'll use this LPS to implement the solution for 6.2.x, which consists in preserving the original behavior.
For master, the solution has to be discussed as there are different alternatives such as allowing anonymous votes, force users to provide the email address, etc...