Форум программистов, компьютерный форум, киберфорум
Java EE (J2EE)
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 5.00/15: Рейтинг темы: голосов - 15, средняя оценка - 5.00
Пробующий
 Аватар для galileopro
185 / 98 / 10
Регистрация: 28.04.2009
Сообщений: 1,101

Как сделать страницу доступной только под администратором

28.10.2016, 08:14. Показов 3254. Ответов 10
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Мне нужно сделать просмотр состояния склада через сайт. Как лучше разделить роли, чтобы если заходит гость, он мог только смотреть список товаров текущий (если что-то купили в магазин или продали, то этот список меняется понятное дело и он это увидит, но не более того). Если заходит админ, то он мог бы добавлять сканером и удалять из базы товары, и еще кое-какие мелочи делать?

Роли как лучше разделить? Хотелось бы сделать все во-первых понятно, чтобы если что роль добавить,или убрать. Где их описывать? В css? А потом пользоваться JS и учитывать из в серверной части на java ee?

Написано там все мной на MySQL+java ee+html+css (div,span, не табличная верстка, шаблонная), ну и используются сервлеты, JS, JDBC и еще там некоторые вещи, например JUnit,логирование, но это уже тесты.

Верстка HTML5+JS+CSS.
0
IT_Exp
Эксперт
34794 / 4073 / 2104
Регистрация: 17.06.2006
Сообщений: 32,602
Блог
28.10.2016, 08:14
Ответы с готовыми решениями:

Как сделать ссылку доступной только Яндексу?
Мне нужно разместить с своего сателлита ссылку, по которой прошел бы лишь робот Яндекса. Все остальные ПС не нужны, точнее желательно, чтоб...

Сделать программу доступной только от имени администратор
Всем привет, подскажите пожалуйста как сделать программу доступной только от имени админа? Тоесть 2 раза кликаешь по ней и она не просто...

Сделать только одну ячейку в DataGridView доступной для редактирования
на форме есть Datagridview2.Columns(1).ReadOnly = True как мне разрешить редактирование только одной ячейки с адресом (4...

10
Эксперт Java
3639 / 2971 / 918
Регистрация: 05.07.2013
Сообщений: 14,220
28.10.2016, 11:04
Цитата Сообщение от galileopro Посмотреть сообщение
В css
Роли? В css? Oo
А как ты узнаёшь, что чувак, например, админ? Авторизация написана? Как написана?
0
Эксперт Java
 Аватар для KEKCoGEN
2399 / 2224 / 565
Регистрация: 28.12.2010
Сообщений: 8,672
28.10.2016, 11:57
Цитата Сообщение от galileopro Посмотреть сообщение
Где их описывать? В css?
просто интересно, как вы собрались роли в CSS прописывать?
1
89 / 89 / 20
Регистрация: 19.02.2010
Сообщений: 966
28.10.2016, 15:40
интересно, что дальше?...
0
Пробующий
 Аватар для galileopro
185 / 98 / 10
Регистрация: 28.04.2009
Сообщений: 1,101
01.11.2016, 14:05  [ТС]
Роли у меня в базе хранятся для всего персонала. При авторизации идет запрос к базе и возвращает поле. Потом с помощью JS я просто скриптом проверяю делать видимым или не видимым тот или иной элемент на странице.

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

Сейчас пока я тестирую серверную часть, не дошел еще до этой проблемы с разделением ролей вплотную. Но я хочу узнать как это делать проще всего? Есть готовое решение, может кто-то подсказать как оно должно работать?

Добавлено через 3 часа 1 минуту
Если кто-то знает типовое решение для изменения доступности элементов страницы (и контента сайта вообще) в зависимости от роли пользователя - я просто научусь предложенному решению.

Я до этого делал сайт-визитку, где был один пользователь, а регистрация была в основном для новостной рассылки на почту. Контент не изменялся. Поэтому в этом вопросе не разбирался.
0
Эксперт Java
3639 / 2971 / 918
Регистрация: 05.07.2013
Сообщений: 14,220
01.11.2016, 14:46
Цитата Сообщение от galileopro Посмотреть сообщение
Потом с помощью JS
ну я просто сделаю твой элемент обратно видимым и привет.
Цитата Сообщение от galileopro Посмотреть сообщение
Роли у меня в базе хранятся для всего персонала
Цитата Сообщение от galileopro Посмотреть сообщение
Но я хочу узнать как это делать проще всего
проще всего ifом проверить, какая у пользователя роль и, в зависимости от результата, вернуть тот или иной ответ. (но тут надо бы понимать, что такое "проще").
В фильтрах надо проверять, может ли пользователь ходить на запрошенный урл.
Если ты вдруг пользуешься спрингом, то там для этого есть spring security.
1
Пробующий
 Аватар для galileopro
185 / 98 / 10
Регистрация: 28.04.2009
Сообщений: 1,101
01.11.2016, 19:33  [ТС]
Спасибо. Я люблю готовые решения. Я посмотрю это. Я тоже думаю, что надо делать роли все на серверной части. Никогда нельзя отдавать HTML с большей информацией, чем там оно надо определенной "роли" юзера.

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

А как сделать, чтобы он допустим не видел даже ссылку не нужную ему, но страницу открыть мог (и дизайн был почти такой как и в "админ-версии", только без пары кнопок)? Например на странице "главная", кассир - не видел ссылку на страницу склада, не видел кнопки некоторые, которые есть на главной странице. Но чтобы открыть он мог почти любую страницу, и эту главную, только на ней будет меньше элементов упр. и не "видимых\не видимых", а вообще их не было в коде. (наверно надо тогда делать 2 версии главной, 2 версии еще какой-то, где это надо, да?)

Можно как-то делать фильтры для отображаемых элементов управления? То есть полученная с сервера страница не будет тогда содержать не нужные кнопки, ссылки и поля, но открываться ему будет. Или так ничего не выйдет, лучше просто сделать отдельную страницу со складом и переход по ссылке сделать только для админа (хранить текущее состояние сессии, кто это залогинился и просто делать if и не открывать вообще склад, и хранить инфу для админа на отдельных страничках, а общую - на всех остальных)?
0
Эксперт Java
 Аватар для KEKCoGEN
2399 / 2224 / 565
Регистрация: 28.12.2010
Сообщений: 8,672
01.11.2016, 21:45
Цитата Сообщение от galileopro Посмотреть сообщение
Никогда нельзя отдавать HTML с большей информацией, чем там оно надо определенной "роли" юзера.
не стоит делать таких категоричных заявлений, не разобравшись в вопросе. Скрывать недоступные элементы управления на стороне клиента это нормальная практика. Это позволяет каждый раз не генерировать html на сервере перед тем чтобы отправить клиенту. Обычно так и делают, а уровень доступа проверяется на сервере при входящем запросе на какое либо действие и тогда вам не страшны начинающие хакеры типа xoraxax, грозящие
Цитата Сообщение от xoraxax Посмотреть сообщение
ну я просто сделаю твой элемент обратно видимым и привет.
1
Эксперт Java
3639 / 2971 / 918
Регистрация: 05.07.2013
Сообщений: 14,220
01.11.2016, 22:09
Цитата Сообщение от galileopro Посмотреть сообщение
Можно как-то делать фильтры для отображаемых элементов управления?
По большому счету ты в ответ на запрос отправляешь просто текст (не так важно, что он может быть hmtl). А значит ты можешь делать с этим текстом все что тебе угодно.
Java
1
response.getWriter().println("<h1>" + message + "</h1>")
Что бы было проще готовить такой текст придумали всякие jsp, thymeleafы и прочую дрянь, в них есть всякие ifы, которые могут, например, проверить какую-нибудь переменную ну и так далее.
Можно и на клиенте скрывать, но фильтровать запросы в любом случае надо

Не по теме:

(терпеть не могу эти ваши js с ангулярами и реактом)

.
1
89 / 89 / 20
Регистрация: 19.02.2010
Сообщений: 966
02.11.2016, 07:02
можно с помощью ИФов, фильтров, тот же спринг секюрити или по другому с этими ролями могут полностью управлять сами АппСерверы, но для начало мне кажется надо разобраться с фильтрами и ифами...
и кстати можно для каждого пользователя создать свои вьюшки и пользователь видит только свои вьюшки и за это отвечают сервлеты, фильтры как Вам угодно, но это начальный уровень зато со всеми будете управлять сами и возможно будет хорошей почвой... хотя ИМХО
1
Эксперт Java
378 / 370 / 114
Регистрация: 30.06.2010
Сообщений: 1,445
02.11.2016, 17:06
Цитата Сообщение от KEKCoGEN Посмотреть сообщение
не стоит делать таких категоричных заявлений, не разобравшись в вопросе. Скрывать недоступные элементы управления на стороне клиента это нормальная практика. Это позволяет каждый раз не генерировать html на сервере перед тем чтобы отправить клиенту. Обычно так и делают, а уровень доступа проверяется на сервере при входящем запросе на какое либо действие и тогда вам не страшны начинающие хакеры типа xoraxax, грозящие
абсолютно солидарен. нужно отделять мух и котлет, серверный рендеринг не есть хорошо, к тому же и средства рендеринга не такие мощные
1
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
BasicMan
Эксперт
29316 / 5623 / 2384
Регистрация: 17.02.2009
Сообщений: 30,364
Блог
02.11.2016, 17:06
Помогаю со студенческими работами здесь

Как сделать обрамление только на одну страницу?
как сделать.

как сделать страницу только для зарегистрированных?
Такой вопрос, у меня работает регистрация и авторизация на сайте, но как сделать что бы например страница home.php была видна только для...

Подогнать страницу под разные мониторы (резиновым сделать). Как?
http://www.pokerbezdepa.ru/ Сайт на Ucoz. На обычном шаблоне. Верстаю на ноуте с широким монитором, как на квадратных он выглядит даже...

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

Как сделать чтобы на определённую страницу смог зайти только администратор php mysql
Как сделать чтобы на определённую страницу смог зайти только администратор php mysql.


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
11
Ответ Создать тему
Новые блоги и статьи
Управление камерой с помощью скрипта OrbitControls.js на Three.js: Вращение, зум и панорамирование
8Observer8 05.03.2026
Содержание блога Финальная демка в браузере работает на Desktop и мобильных браузерах. Итоговый код: orbit-controls-threejs-js. zip. Сканируйте QR-код на мобильном. Вращайте камеру одним пальцем,. . .
SDL3 для Web (WebAssembly): Синхронизация спрайтов SDL3 и тел Box2D
8Observer8 04.03.2026
Содержание блога Финальная демка в браузере. Итоговый код: finish-sync-physics-sprites-sdl3-c. zip На первой гифке отладочные линии отключены, а на второй включены:. . .
SDL3 для Web (WebAssembly): Идентификация объектов на Box2D v3 - использование userData и событий коллизий
8Observer8 02.03.2026
Содержание блога Финальная демка в браузере. Итоговый код: finish-collision-events-sdl3-c. zip Сканируйте QR-код на мобильном и вы увидите, что появится джойстик для управления главным героем. . . .
Реалии
Hrethgir 01.03.2026
Нет, я не закончил до сих пор симулятор. Эта задача сложнее. Не получилось уйти в плавсостав, но оно и к лучшему, возможно. Точнее получалось - но сварщиком в палубную команду, а это значит, в моём. . .
Ритм жизни
kumehtar 27.02.2026
Иногда приходится жить в ритме, где дел становится всё больше, а вовлечения в происходящее — всё меньше. Плотный график не даёт вниманию закрепиться ни на одном событии. Утро начинается с быстрых,. . .
SDL3 для Web (WebAssembly): Сборка библиотек: SDL3, Box2D, FreeType, SDL3_ttf, SDL3_mixer и SDL3_image из исходников с помощью CMake и Emscripten
8Observer8 27.02.2026
Недавно вышла версия 3. 4. 2 библиотеки SDL3. На странице официальной релиза доступны исходники, готовые DLL (для x86, x64, arm64), а также библиотеки для разработки под Android, MinGW и Visual Studio. . . .
SDL3 для Web (WebAssembly): Реализация движения на Box2D v3 - трение и коллизии с повёрнутыми стенами
8Observer8 20.02.2026
Содержание блога Box2D позволяет легко создать главного героя, который не проходит сквозь стены и перемещается с заданным трением о препятствия, которые можно располагать под углом, как верхнее. . .
Конвертировать закладки radiotray-ng в m3u-плейлист
damix 19.02.2026
Это можно сделать скриптом для PowerShell. Использование . \СonvertRadiotrayToM3U. ps1 <path_to_bookmarks. json> Рядом с файлом bookmarks. json появится файл bookmarks. m3u с результатом. # Check if. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru