Как авторизовать маршрут на основе другой группы? Например ..
Первоначальный вход в систему:
passport.use(
new ActiveDirectoryStrategy(
{
integrated: false,
ldap: {
url: "ldap://ldapserver",
baseDN: "DC=domain,DC=name",
username: "readonlyuser",
password: "readonlyuserpassword",
},
},
function (profile, ad, done) {
ad.isUserMemberOf(profile._json.dn, "Group1", function (
err,
isMember
) {
if (err) return done(err);
return done(null, profile);
});
}
)
);
var opts = { failWithError: true };
router.post(
"/login",
passport.authenticate("ActiveDirectory", opts),
function (req, res) {
res.json(req.user);
},
function (err) {
res.status(401).send("Not Authenticated");
}
);
, но затем у меня есть вторая группа маршрутизации, которую я хотел бы авторизовать через другую группу:
passport.use("Labor",
new ActiveDirectoryStrategy(
{
integrated: false,
ldap: {
url: "ldap://ldapserver",
baseDN: "DC=domain,DC=name",
username: "readonlyuser",
password: "readonlyuserpassword",
},
},
function (profile, ad, done) {
ad.isUserMemberOf(profile._json.dn, "Group2", function (
err,
isMember
) {
if (err) return done(err);
return done(null, profile);
});
}
)
);
var opts = { failWithError: true };
router.get(
"/",
passport.authenticate("Labor", opts),
function (req, res) {
res.json(req.user);
},
function (err) {
res.status(401).send("Not Authenticated");
}
);
Пользователь аутентифицируется нормально на первом маршруте. Но по второму маршруту я получаю неавторизованное сообщение из паспорта, даже если пользователь находится в обеих группах.
Мысли?