Me pediram pra fazer um formulário com uma pesquisa aki na empresa, mas não é pra identificar ninguém no formulário. O pessoal só vai responder um determinado questionário e pronto.
Agora o problema: Como eu faço pra verificar se o cara já participou do formulário? Pra uma mesma pessoa não responder o formulário várias vezes. não vai poder logar.
Pegue a informação de usuário (se você estiver usando o Internet Explorer e o IIS dá para pegar a informação do usuário do Windows que está logado. Se em vez do IIS você estiver usando o Tomcat ou Apache ainda dá para pegar essa informação, mas é um pouco mais complicado. Veja um post - http://www.guj.com.br/posts/list/26264.java - para ver como é que se faz isso.)
Uma vez que você pegou a informação de usuário (digamos usuário = “abcde\zemane”), gere um hash desse nome, e grave esse hash junto com os resultados da pesquisa que ele respondeu. Dessa forma, você não guardou o nome do usuário.
Para ver se o usuário já respondeu a pesquisa, procure pelo hash do nome do usuário a pesquisa.
(Você poderia, em vez do hash do usuário, pegar o hash da máquina, que é mais fácil de obter no web server, não requerendo configuração, mas aí você não poderia fazer com que duas pessoas diferentes respondessem a mesma pesquisa na mesma máquina.)
Vc pode pegar o endereço mac de cada pessoa que votar na pesquisa e assim tem controle e não permite que ela vote duas vezes, porém se várias pessoas usarem a mesma maquina vc vai ter problemas tenho esse exempo de código que peguei na internet ele não resolve o problema mais pega o ip da pessoal e te devolve um objeto process com a execução do camando
import java.io.IOException;
public class PegaIp {
public static void main(String[] args) {
String comando = "ipconfig /all";
try {
Process p = Runtime.getRuntime().exec("rundll32 SHELL32.DLL,ShellExec_RunDLL " + comando);
} catch (IOException e) {
e.printStackTrace();
}
}
}
você pode bolar algo como convite para preenchimento que pode ser impresso ou por email mas neste ultimo caso você deve garantir a transparência do processo uma vez que o convite seria direcionado.
cara tive outra ideia usa o mesmo codigo só que executando o comando dos que trás o nome do usuário local na maquina armazena esse usuário e quando ele for votar faz uma verificação tinha o comando dos que faz isso com netstat se não me engano, pois tem muito tempo que não mexo com isso espero ter ajudado
Vc nao pode pedir o usuário no começo, mas na hora de gravar, gravar em tabelas diferentes, assim: em uma apenas o nome dos usuários (só pra vc ter uma relação de quem já participu), na outra só as respostas, sem relacionar em nada as respostas com o usuário ?
Duro seria falar pros usuários que tavam pedindo o nome mas não ia gravar as respostas relacionadas…rs…