I'm just getting started with Ethereum. To understand the platform better, I intend to build a web interface for a voting contract.

User should be able to make authenticated transactions to vote on a private blockchain. What is best way to achieve this?

Background: I have looked at truffle as an option, but I could not find a way to carry out an authenticated transaction using the web interface.

Update: From what I understand, an Ethereum wallet can unlock an account (accept a passphrase to decrypt the private key) and send transactions on behalf of the unlocked account (sign transactions with the private key). I'm looking for a way for users to be able to send transactions to the blockchain using a web interface. I believe this possible with truffle, but not sure how.