Перейти к основному содержимому

Авторизация

· 2 мин. чтения

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

Зачем это надо? Система как цивилизация - чем дальше она развивается, тем сложнее становятся отношения между пользователями и настаёт момент, когда необходимо

  • Разделение труда. Типичный пример - системы типа intranet, куда имеют доступ только работники компании, соответсвенно никто ничего там испортить не может, однако ввод данных осуществляется разными людьми и им просто нет нужды видеть чужие интерфейсы работы с системой.
  • Разделение аудитории. Пример - финансовые системы, сайты с разделением на admin-public, т.е. системы где большая вероятность вандализма простыми пользователями

В простых Web-инфосистемах авторизация для упрощения может быть забита сразу в коде. Никто кроме Васи Пупкина не может зайти в админпанель - делать проще простого. Но не стоит путать админпанель доступную всем но не знающим как в неё зайти от админпанели защищённой авторизацией .

Архитектура

В более сложных системах систему прав приходится реализовывать более хитрыми путями. Прежде всего надо решить какой список мы делаем. Что сделать проще - список запретов или список разрешённых действий? Кому-то ведь прийдётся выставлять привилегии.

Архитектура инфосистемы должна быть построена удобным образом, что-бы можно было детально составить список привилегий. Как пример:

  • Комментировать статью Y может видеть только пользователь группы A
  • Видеть раздел меню X может видеть только пользователь группы B
  • Удалить новость может только пользователь группы C

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