2016-09-07 5 views
2

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

  1. Скажите, что вы используете аутентификацию cookie с сервером. Как вы подтверждаете, что cookie в Aurelia отображает пользователю, что они вошли в систему?

  2. В документации Aurelia (видно here), мы можем увидеть следующее:

    class AuthorizeStep { 
        run(navigationInstruction, next) { 
        if (navigationInstruction.getAllInstructions().some(i =>      
         i.config.settings.roles.indexOf('admin') !== -1)) { 
         var isAdmin = /* insert magic here */false; 
         if (!isAdmin) { 
          return next.cancel(new Redirect('welcome')); 
         } 
        } 
    
        return next(); 
        } 
    } 
    

    Что /* insert magic here */ выглядеть для вас? Как это будет выглядеть?

ответ

1

Приложение В настоящее время я работаю над запросом маркера с сервера на маршруте «входа» с использованием XHR. Если этот запрос выполнен успешно, и из бэкэнд был получен токен, то токен хранится в файле cookie, и мы отправляемся от страницы входа в основной контент приложения. Затем мы могли бы установить глобальную переменную «loggedIn», чтобы отобразить, что пользователь вошел в систему и т. Д. Каждый раз, когда мы отправляем дополнительные запросы на бэкэнд через XHR, мы отправляем токен с запросом.

«Магия» на шаге авторизации - это просто какая-то логика, которая проверяет, вошел ли пользователь в систему или в приведенном выше примере администратор.

Это может быть просто глобальный флаг (который, как я полагаю, можно обойти), или фактический запрос на сервер, который проверяет, что сохраненный файл cookie действителен.

Смежные вопросы