I was going to make a similar suggestion.
The switch of one of my customers was behaving in a similar manner. The 2960 (I don't recall which iOS version, 12.2 perhaps) required the switchport command before authentications worked.
You should have included the switchport access vlan command in your snippet, which I had completely overlooked!