如何使用 passportJS 切换用户配置文件

How to switch user profiles with passportJS

我正在创建一个“伪装”管理员登录系统,管理员可以在其中登录不同用户的帐户。 我正在使用 passport/express 身份验证系统。我正在尝试找出一种方法来在其他用户以管理员身份登录时登录他们的帐户。 我目前的策略是修改 req.user 对象并在用户对象上切换密码和用户名,然后将修改后的用户对象转发给登录功能,以便以不同的用户身份登录。这是可能的还是我应该找到不同的方法?

谢谢!

我假设您正在使用 express-session。当您序列化用户时,发生的是 express-session 将您的用户信息放入您的 session.You 可以更改您重新放置的信息在你的会话中。如果用户是管理员,您可以添加类似“currentAccount”的内容。如果管理员更改用户帐户,您还可以使用新帐户创建一个新会话,或者您可以查找 cookie/session 操作库并更改当前会话中的信息。通过反序列化,您可以在 req.session.passport 中获取会话信息,并且您的当前帐户信息也将在 req.session.passport