Джин-Гоник, ограничивающий маршруты - PullRequest
0 голосов
/ 22 сентября 2018

Мое веб-приложение имеет средства злоупотребления, пользователи могут получать доступ к вещам, к которым они не должны, например, 127.0.0.1/users/1 & 127.0.0.1/users/2 & 127.0.0.1/users/3 и т. Д., В рамках которых он показывает регистрационную электронную почту пользователя, IP-адрес и т. Д.(через JSON, чтобы веб-сервер мог возвращать настроенные сообщения, приветствия и позволять пользователям редактировать данные учетной записи в настройках профиля)

Вот как выглядит мой маршрут:

forum.GET("/users/:user_id", routeFunc(UsersGET))

IЯ использую Gin-Gonic HTTP Framework для создания фиктивного форума, может кто-нибудь сказать мне, как запретить пользователям доступ к маршруту /users/, в то же время позволяя фактическому веб-серверу свободно использовать?и, возможно, связать меня в правильном направлении.Спасибо!

(сервер использует его для возврата таких вещей, как Welcome Back, USERNAME).

1 Ответ

0 голосов
/ 23 сентября 2018

Вам необходимо добавить аутентификацию и авторизацию на ваш сервер.

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

Существует множество сторонних сервисов, которые могут помочь вам в этом (например, Auth0 ), где они могут обрабатывать аутентификацию для вас.и предоставить вам библиотеки для авторизации.

Обычно люди связывают аутентификацию на своем сервере Gin-Gonic с помощью промежуточного программного обеспечения (например, gin-jwt ), которое запускается перед каждым запросом http.Как только это промежуточное ПО аутентифицирует пользователя, вы можете добавить к своему дескриптору некоторую логику, в которой говорится, что только пользователи могут просматривать только себя.

Надеюсь, это поможет.Удачи.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...