Как отправить заголовки на страницу с помощью nodejs? - PullRequest
3 голосов
/ 07 июля 2019

Я пытаюсь ограничить доступ к некоторым элементам на веб-странице для каждого типа пользователей после того, как они передают свои учетные данные через страницу входа.

Логика для этого заключается в следующем:

  1. Пользователь вводит свои учетные данные на странице входа в систему.
  2. если пользователь вводит правильные учетные данные, nodejs будет перенаправлять на панель управления

Следующий код является частичным кодом, который показывает, как пользователи будут перенаправлены на конечную точку панели мониторинга (я предпочитаю не показывать полный код с полной проверкой, чтобы упростить этот вопрос)

// nodejs code in the server
app.post('/users/api', function(req, res) {
    res.redirect('/dashboard');
}

Я имею в виду следующий подход:

Вместе с «res.redirect» отправьте несколько заголовков, чтобы перехватить их, когда страница dashboard.html готова (с функцией готовности JQuery), и напишите некоторую функцию для скрытия элементов на странице, если у пользователя есть права или нет.

Дело в том, что я провел исследование, но мне пока не ясно, как это сделать, и если это правильный подход.

Любая помощь в создании этого кода приветствуется.

Ответы [ 2 ]

1 голос
/ 07 июля 2019

Вы можете установить поле Авторизация в заголовке.

Для авторизации необходимо использовать комбинацию имя пользователя: пароль путем кодирования строки Base64.

var username = 'xyz';
var password = '123';
//  The server expects the data to be encoded in Base64.
var auth = 'Basic ' + Buffer.from(username + ':' + password).toString('base64');

var header = {'Host': 'www.example.com', 'Authorization': auth};
var request = client.request('GET', '/', header);
0 голосов
/ 07 июля 2019

Вы можете установить заголовок, как показано ниже в ответе res.setHeader ('Content-Type', 'text / html);

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...