javascript - 将 php 迁移到 nodejs - 在客户端处理 session

标签 javascript node.js session

我用 PHP 开发 Web 系统,现在我对 NODEJS 感到非常兴奋。

尽管这不是一个好的做法,但在我看来,很多时候都会这样做:

如果用户未登录,他们会重定向。

<?php

  session_start();

    if(!isset($_SESSION['login']) || 4 !== (integer)$_SESSION['id_perfil_sistema']){
        header("Location: /vault/");
    }

?>

有时我会获取 session 数据以根据登录的用户自定义页面

<li style="background-color:#ddd;"> <a style="color:blue;" href="#"> <?php echo ucwords($_SESSION['nomeusuario']); ?> </a> </li>

<input type="hidden" name="theOrigin" value="<?=$_SESSION['origin'];?>" />

<script type="text/javascript">
     var x = <?php echo $_SESSION['session_variable']; ?>;
</script>

我学会了在nodejs中创建 session 。 =)

在 javascript 中获取 session Nodejs 的最佳方法是什么?

我正在使用nodejs和express。

亲切的问候

最佳答案

一旦包含了快速 session 中间件 ( https://github.com/expressjs/session ),您应该能够从任何请求对象获取 session

例如,将所有未登录的用户重定向到“/login”,可以在每个请求上编写为快速中间件,如下所示:

app.use(function(req, res, next) {
  if(!req.session.login){
      res.redirect("/login");
      return;
  }
  next();
});

并将 session 添加到标记(假设使用 Jade 或其他快速模板中间件)

JS

app.get('/', function (req, res) {
   res.render('index', { nomeusuario: req.session.nomeusuario });
});

Jade (示例)

html
  body
    h1= nomeusuario

注意:代码未经测试,只是一个示例

关于javascript - 将 php 迁移到 nodejs - 在客户端处理 session ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35747393/

相关文章:

javascript - 在没有窗口对象的情况下正确记录 JavaScript 中的按键事件

java - 如何从 JSP 页面检索放入 session 的数组?

javascript - 如何增加可点击区域以包含同级元素?

javascript - 如何使用 React 重构 JSON 中的序列化 DOM?

javascript - AJAX 到 PHP - 不显示新数据

node.js - 在 Docker GitHub 操作中缓存 npm 包

javascript - 设置jquery鼠标悬停以访问javascript循环中的数组键?

javascript - Node.js:如何将向量传递给函数?

asp.net - 表单例份验证随 session 过期

java - org.springframework.transaction.CannotCreateTransactionException : Could not open Hibernate Session for transaction