Как я могу сделать авторизацию на основе ролей в nodejs после получения ответа от аутентификации CAS? - PullRequest
0 голосов
/ 28 марта 2019

Я новичок в CAS.Я включил CAS в своем веб-приложении и получаю следующие данные после входа в систему.

атрибуты: {userID: ['tanyaD'], personUniqueNumber: ['9735563'], uid: ['6864h343l5jl353l5jj']}

У меня есть две таблицы с именем Таблица пользователей с идентификатором роли, идентификатором uid и пользователем, а также таблица персон с идентификатором uid и всеми сотрудниками, доступными в компании.

Ниже приведен код

  this.router.get('*', (req, res, next) => {
    // let reval;
    if (req.url.includes('/api', cas.block, appRoutes)) {
        console.log('api called');
        return next();
    } else if (req.session.cas && req.session.cas.user) {
     const uin = req.session.cas.attributes.PersonUIN[0];
        // const uid = req.session.cas.attributes.uid[0];
        const userId = req.session.cas.attributes;
        console.log('the attributes are', userId); 

// Здесь я хочу сопоставить пользователя с его uid и получить роль из таблицы пользователя, выполнить авторизацию на основе ролей и перейти на домашнюю страницу с идентификатором пользователя и ролью.

        res.render('index', {req});
    } else {
        res.redirect('/login');
    }
});

Моя домашняя страница должна получить ИД пользователя и роль для пользователя входа в систему.

должен отображаться как ... добро пожаловать Afreen, вы в настоящее время вошли в систему как администратор cas demo, который я использую: https://github.com/casinthecloud/nodejs-cas-client-demo

...