【发布时间】:2021-08-11 02:17:47
【问题描述】:
我有一个sailsjs 应用程序,在该应用程序中提供客户路线 /* 而管理员路由是/admin/*
如何为这些路由维护两个不同的会话。
现在,如果我登录 /admin 并导航到 /*,它会显示客户页面并让我以管理员身份登录。
【问题讨论】:
我有一个sailsjs 应用程序,在该应用程序中提供客户路线 /* 而管理员路由是/admin/*
如何为这些路由维护两个不同的会话。
现在,如果我登录 /admin 并导航到 /*,它会显示客户页面并让我以管理员身份登录。
【问题讨论】:
您可以创建 1 个定义用户类型的会话变量。对于管理部分,客户部分有 1 个不同的变量。 当您登录每个部分时,您将删除另一部分的变量并将其设置为对应的部分。
env.req.session.typeofuser = 'customer';
然后要检查您的管理部分操作,您可以使用以下内容:
fn: async function (inputs,exits,env) {
if (env.req.session.typeofuser === 'customer'){ throw { nosession: '/' }; }
【讨论】:
我使用自定义 Hook 处理了它,其中我有两个基于路由的会话处理程序,例如
*/
before: {
"/admin/*":{...},
"/*": {
skipRegex:/[/](?:admin)\S+/gm,
......}
}
【讨论】: