Ir ao conteúdo
  • Cadastre-se
Jhonatas Flor de Sous

Javascript Como ter sessões simultaneas nodeJS

Posts recomendados

        Olá criei um servidor node de CRUD basico usando o Postgres do Heroku e Mysql, o problema é que ele só permite que crie uma sessão, ou seja se você loga em um dispositivos todos que entram no site são logados também. Como resolver isso e se me indicarem uma biblioteca poderiam me explicar como ela funciona?

 

const express = require('express');
const session = require('cookie-session');
const bodyParser = require('body-parser');
const app = express();
const Sequelize = require('sequelize')


app.use(express.json())
app.use(session({
      secret:'wtsrtsgt1234@3#22',
    
})
       )

app.use(bodyParser.json());      
app.use(bodyParser.urlencoded({extended: true}));


const sequelize = new Sequelize(process.env.DATABASE_URL,{
    dialect: 'postgres',
    protocol: 'postgres',
    port:5432
})


/*
const sequelize = new Sequelize('player','root','',{
    host:'localhost',
    dialect:'mysql'
})
*/

const Usuarios = sequelize.define('usuarios',{
    email: {
        type: Sequelize.STRING
    },
    senha:{
        type: Sequelize.STRING
    },
    nivel:{
        type: Sequelize.STRING
    }
})
let sess;



app.get('/', (req,res)=>{
    Usuarios.sync({force:true})
    if(sess == undefined){
        res.sendfile(__dirname+"/public/login.html")
    }
    else{
        res.send("YOU ARE A COMMUM USER")
    }
    
})

app.post('/login', async (req,res)=>{
    let email = req.body.email;
    let senha = req.body.senha;
    if(email == "empty" || senha == "empty"){
        res.json({"MENSAGEM":"Algum campo está vazio"})
    }
    else{
        const retorno = await Usuarios.findOne({ where: { email: email, senha:senha } })
            if(retorno == null){
                res.json({"MENSAGEM":"Não existe essa conta"})
             }
            else{
                res.json({"MENSAGEM":"Logado"})
                sess = req.session
                sess.nivel = retorno.nivel
             }
            
    }
    

    

})
app.get('/a', (req,res)=>{
    res.send('pock')
})
app.post('/registre', async (req,res)=>{
    let email = req.body.email
    let senha = req.body.senha
    let confirm = req.body.confirm

    if(senha != confirm && senha != "empty"){
        res.json({"MENSAGEM":"Senhas não batem"})
    }
    else if(senha == "empty" || confirm == "empty" || email == "empty"){
        console.log('ERRO:falta preencher um campo')
        res.json({"MENSAGEM":"Falta preencher um campo"})
    }
    else{
        const retorno = await Usuarios.findOne({ where: { email: email } })
        if(retorno == null){
            Usuarios.create({
                email: email,
                senha: senha,
                nivel: 'comum'
        })
        res.json({"MENSAGEM":"Conta criada"})
    }
        else{
            res.json({
                "MENSAGEM":"Esse email já existe"
            })
        }
        
    }
    
})

app.listen(process.env.PORT || 3000)

 

Compartilhar este post


Link para o post
Compartilhar em outros sites

Crie uma conta ou entre para comentar

Você precisar ser um membro para fazer um comentário

Criar uma conta

Crie uma nova conta em nossa comunidade. É fácil!

Crie uma nova conta

Entrar

Já tem uma conta? Faça o login.

Entrar agora





Sobre o Clube do Hardware

No ar desde 1996, o Clube do Hardware é uma das maiores, mais antigas e mais respeitadas publicações sobre tecnologia do Brasil. Leia mais

Direitos autorais

Não permitimos a cópia ou reprodução do conteúdo do nosso site, fórum, newsletters e redes sociais, mesmo citando-se a fonte. Leia mais

×
×
  • Criar novo...

Aprenda_a_Ler_Resistores_e_Capacitores-capa-3d-newsletter.jpg

EBOOK GRÁTIS!

CLIQUE AQUI E BAIXE AGORA MESMO!