Session SAILJ有不同的管理路线和客户路线会话

Session SAILJ有不同的管理路线和客户路线会话,session,sails.js,ejs,Session,Sails.js,Ejs,我有一个sailsjs应用程序,在客户路线中提供服务 /*管理路径是/admin/* 如何为这些路由维护两个不同的会话 现在,如果我登录/admin并导航到/*它会显示客户页面并让我以管理员身份登录。您可以创建一个会话变量来定义用户类型。对于admin部分,1个不同的变量用于customer部分。 当您登录到每个部分时,您将删除另一部分的变量,并为相应部分设置一个变量 env.req.session.typeofuser = 'customer'; 然后,要检查管理部分的操作,您可以使用以下方

我有一个sailsjs应用程序,在客户路线中提供服务 /*管理路径是/admin/*

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


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

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

env.req.session.typeofuser = 'customer';
然后,要检查管理部分的操作,您可以使用以下方法:

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


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

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