Авторизация
Авторизация это процесс предоставления привилегий или запретов, т.е. связывание пользователя со списком того что ему делать можно в системе или что ему делать нельзя.
Зачем это надо? Система как цивилизация - чем дальше она развивается, тем сложнее становятся отношения между пользователями и настаёт момент, когда необходимо
- Разделение труда. Типичный пример - системы типа intranet, куда имеют доступ только работники компании, соответсвенно никто н ичего там испортить не может, однако ввод данных осуществляется разными людьми и им просто нет нужды видеть чужие интерфейсы работы с системой.
- Разделение аудитории. Пример - финансовые системы, сайты с разделением на admin-public, т.е. системы где большая вероятность вандализма простыми пользователями
В простых Web-инфосистемах авторизация для упрощения может быть забита сразу в коде. Никто кроме Васи Пупкина не может зайти в админпанель - делать проще простого. Но не стоит путать админпанель доступную всем но не знающим как в неё зайти от админпанели защищённой авторизацией .
Архитектура
В более сложных системах систему прав приходится реализовывать более хитрыми путями. Прежде всего надо решить какой список мы делаем. Что сделать проще - список запретов или список разрешённых действий? Кому-то ведь прийдётся выставлять привилегии.
Архитектура инфосистемы должна быть построена удобным образом, что-бы можно было детально составить список привилегий. Как пример:
- Комментировать статью Y может видеть только пользователь группы A
- Видеть раздел меню X может видеть только пользователь группы B
- Удалить новость может только пользователь группы C
Кроме того, заметьте - видеть кнопку "удалить" и реальная функциональность удаления какого-то элемента системы это разные вещи. Возможна халатность разработчика, где функциональность всё ещё присутсвует, даже если пользователь её не видит.