【问题标题】:Sailjs have different session for admin route and customer routeSailjs 对管理员路由和客户路由有不同的会话
【发布时间】:2021-08-11 02:17:47
【问题描述】:

我有一个sailsjs 应用程序,在该应用程序中提供客户路线 /* 而管理员路由是/admin/*

如何为这些路由维护两个不同的会话。

现在,如果我登录 /admin 并导航到 /*,它会显示客户页面并让我以管理员身份登录。

【问题讨论】:

    标签: session sails.js ejs


    【解决方案1】:

    您可以创建 1 个定义用户类型的会话变量。对于管理部分,客户部分有 1 个不同的变量。 当您登录每个部分时,您将删除另一部分的变量并将其设置为对应的部分。

    env.req.session.typeofuser = 'customer';
    

    然后要检查您的管理部分操作,您可以使用以下内容:

    fn: async function (inputs,exits,env) {
    if (env.req.session.typeofuser === 'customer'){ throw { nosession: '/' }; }
    
    

    【讨论】:

      【解决方案2】:

      我使用自定义 Hook 处理了它,其中我有两个基于路由的会话处理程序,例如

        */
            before: {
              "/admin/*":{...},
              "/*": {
                skipRegex:/[/](?:admin)\S+/gm,
                 ......}
          }
      
      

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 2017-09-16
        • 1970-01-01
        • 2013-05-29
        • 2017-12-31
        • 1970-01-01
        • 2015-11-09
        • 2017-06-28
        • 1970-01-01
        相关资源
        最近更新 更多