Как работает система авторизации на стороне пользователя?
Вопрос чисто теоретический и сразу скажу, что я совершенно не разбираюсь в принципах авторизации.
Случай такой: Есть стандартная связка JS-Apache-Mysql-Php. В зависимости от того, разрешен ли доступ (проверка пары лог/пароль в БД), на один и тот же event у меня должно открываться, либо окно с информацией для пользователей, либо окно редактирования для админа. Данные, поступающие с сервера, одинаковы для пользователя и админа, разница только в том, что у админа не просто текст, а поля для редактирования.
Так вот, решение о выводе окна юзер/админ мы принимаем на основе какой-то булева значения. Например, мы вошли как обычный пользователь, потом ввели логин/пароль и нам пришло разрешение на доступ. И как его хранить? - создать переменную, в которой будет true? - так что мешает пользователю его изменить через консоль. Создать константу а до этого проверять ее существование через typeof != 'undefined'? - ну такое себе.
Дмитрий, про сессии на серверой стороне я знаю и использую, но это помогло бы, если бы были разные страницы или данные отправляемые на фронт отличались бы. Куки использовать не хочу, можно как-то без них?
и нам пришло разрешение на доступ. И как его хранить?
Создай в таблице Юзеры поле "Role" - роль, и обычным назначай user а админам admin, эти значения присваивай в массив $_SESSION['role'] во время авторизации, и при доступе куда то проверяй имеет ли пользователь подходящую роль.
Ну по крайней мере я так делаю.