Identificar usuário pelo dispositivo

Estou fazendo um site em que quero que o usuário seja reconhecido automaticamente pelo dispositivo que ele está usando. Pensei em fazer algo que grave o MAC Adsress do dispositivo no BD e sempre que esse dispositivo acessar o site, ele já seja identificado com usuário.

Não sei se é possível fazer isso pelo MAC Address pois li que em certos casos, o Web Server irpa receber o MAC Address do roteador e não do usuário final. Alguém tem alguma ideia de como posso fazer isso? Estou trabalhando em Java Web (Sevlets) com Spring MVC,

Por que o reconhecimento deve ser pelo disposittivo?

O que você pretende obter com essa abordagem?

Que problema você está tentando resolver que te levou a essa abordagem?

Em que ponto as abordagens “tradicionais” (session, cookies) não te atendem?

Abraço.

Minha intenção é que não seja necessário digitar usuário e senha. É um site voltado para mobile aonde a pessoa no meio de uma compra, pega o celular rapidamente, entra no site e digita o valor que gastou.

Por isso quero evitar session que irá expirar já que o usuário não utilizará o site muitas vezes ao dia.

Cookies talvez seja uma alternativa, nunca utilizei pois sempre li referências ruins sobre a utilização deles, mas neste caso pode ser que se encaixe.

Bom, se o objetivo é apenas permitir que o usuário confirme a compra, por quê não trabalhar com token, como internet banking faz?
Dá mais trabalho? Óbvio! Mas é mais inteligente que pegar o mac address, afinal, existem N celulares xing ling por aí que vêm com o mac clonado…