Prefácio
Cookie: Cookie é uma tecnologia de cliente e o programa grava os dados de cada usuário para o respectivo navegador do usuário na forma de um cookie.
Quando um usuário usa um navegador para acessar os recursos da Web no servidor, ele trará sua própria área de dados, para que os recursos da Web processem seus próprios dados.
Sessão: Sessão é uma tecnologia do lado do servidor. Usando a tecnologia de sessão, o servidor pode criar seu próprio objeto de sessão para o navegador de cada usuário quando é executado. Como a sessão é exclusiva do navegador do usuário, quando o usuário acessa os recursos da Web do servidor, o usuário pode colocar seus próprios dados na sessão. Quando o usuário acessar outros recursos da Web no servidor novamente, os outros recursos da Web serão da respectiva sessão do usuário.
Retire os dados para servir o usuário.
Principais diferenças entre a sessão e os cookies:
Frequentemente usamos a sessão para armazenar algumas das informações de login do usuário para verificar se o usuário está online. Esta é a solução mais fácil da Web a ser implementada. Este artigo usa a estrutura SSM (Spring, Springmvc, Mybatis) como operadora para implementar especificamente esse sistema de login.
O método é o seguinte:
1. Passe o nome de usuário e a senha para a interface de back -end através do front end. Depois que a interface recebe o valor, ela é criptografada MD5, compara -a com os campos no banco de dados, retorna o status ao front end e o front -end pula a página de acordo com o valor de retorno.
Classe de ferramenta de criptografia MD5
public string coderbymd5 (string str) lança NosuchalgorithMexception, não supportEnCodingException {// Determine o método de cálculo Messagedigest md5 = MessAgedigest.getInstance ("md5"); Base64Encoder base64en = new base64Encoder (); // String criptografada String Newsstr = base64en.encode (md5.digest (str.getBytes ("utf-8"))); retornar Newsr; }Camada dao e mapeador
<select id = "valiteUser" parameterType = "java.lang.string" resultype = "com.heitian.ssm.model.userinfo"> Selecione senha de t_user onde o nome de usuário = #{userName} </select>Classe de implementação da camada de serviço
public string valiteUser (userInfo userInfo) {tente {userInfo userDemo = userdao.valiteUser (coderbymd5 (userinfo.getUserName ())); if (userInfo.getpassword (). Equals (userDemo.getpassword ())) {return "pass"; }} catch (Exceção e) {e.printStackTrace (); retornar "erro"; } retornar "lixo"; }Camada do controlador
@ResponseBody @RequestMapping ("/LoginUser") public hashmap <string, object> loginUser (solicitação httpServLeTrequest, userInfo userInfo) {hashmap <string, object> resultado = new hashmap <string, object> (); Session httpSession = request.getSession (); System.out.println ("Login Fail"); String status = usuárioservice.valiteUser (userInfo); if (status.equals ("pass")) {session.setAttribute ("current_user", userInfo.getUserName ()); resultado.put ("status", "passa"); } else {if (status.equals ("recusar")) {result.put ("status", "recusar"); } else {result.put ("status", "error"); }} Retornar resultado; }Ao retornar as informações de status, podemos determinar se o login é bem -sucedido. Se for bem-sucedido, escreva o par de valores-chave de nome de usuário para a sessão.
2. Ao acessar outras páginas, como determinar se algum usuário efetua login online? Eu uso o JS para obter o valor da sessão para julgar.
Ou seja: primeiro obtenha o valor da sessão. Se estiver vazio ou nulo, significa que a sessão não tem comportamento de login antes disso. Redirecionamos automaticamente para a página inicial. Se houver um valor, significa que há comportamento de login e o usuário conectado online é current_user
Neste momento, podemos usar o nome de usuário para ajustar a interface em segundo plano.
<Script Language = "javascript"> $ (document) .ready (function () {var myName = "<%= session.getAttribute (" current_user ")%>"; var projedid1 = "<%= request.getAttribute (" projectId ")%>"; if (myName == "null") {waild.location.loclocation.hr (waillloclating ")%>"; se (myName == "null") {waild.location.hlocation.hr ") } </script>3. Logout do usuário
Logre, ou seja, limpo o valor na sessão e uma interface de logout será aberta do segundo plano.
@RequestMapping ("/quituser") public string quitUser (httpServletRequest solicitação) {httpSession session = request.getSession (); session.RemoVeattribute ("current_user"); retornar "índice"; }Isso realiza um sistema de gerenciamento de usuários do login ao logout, mas esse é o sistema mais básico, e a segurança é um grande problema; portanto, soluções de verificação como o Token JWT ainda são muito úteis.
Resumir
O acima é o conteúdo inteiro deste artigo. Espero que o conteúdo deste artigo tenha certo valor de referência para o estudo ou trabalho de todos. Se você tiver alguma dúvida, pode deixar uma mensagem para se comunicar. Obrigado pelo seu apoio ao wulin.com.