Универсальный модуль аутентификации Rails3 Captive Portal Application

#ruby-on-rails #ruby-on-rails-3

#ruby-on-rails #ruby-on-rails-3

Вопрос:

Мы хотим создать приложение captive portal в RoR3. У нас уже есть функционирующий сервер freeradius, и мы используем приложение от drupal (http://drupal.org/project/hotspot ) но нам нужна наша собственная настройка.

Одна важная вещь — это возможность фиксировать параметр в URL и автоматически перенаправлять запрос на другую страницу.

Например, наш запрос по умолчанию:

examplehotspot.com/hotspot?NASID=ID-1

Я пытаюсь выяснить, как можно перенаправить на другую страницу. Например:

Клиент A: ID-1 — перенаправляет на страницу A

Клиент B: ID-2 — перенаправляет на страницу B

Есть ли кто-нибудь, кто может указать нам правильное направление?

Спасибо

Ответ №1:

используйте маршрут, не требующий ресурсов, например. :

   match "/hotspot" => redirect "/some_controller/%{NASID}"
  

подробнее о :

  • перенаправление маршрутов здесь
  • захват строки запроса здесь
  • как получить доступ к параметрам запроса из контроллера здесь

Комментарии:

1. Круто, это выглядит просто. Как насчет uam-стороны вещей? Есть мысли по этому поводу?

2. взгляните на Devise и OmniAuth

3. Спасибо. Мы уже используем devise для аутентификации, но нам нужно сделать больше, чем просто войти в систему — например, наши клиенты radius отправляют общий секрет и аутентифицируются в radius для доступа в Интернет

4. это совершенно другая проблема, и вам следует задать для этого другой вопрос, потому что то, как вы поворачиваете этот вопрос, может быть сосредоточено только на проблеме «перенаправления». Интересная проблема, однако; не знал точно, что такое radius-сервер, может быть, вы могли бы немного разработать то, что вам именно нужно реализовать. Наконец, вы можете найти некоторую информацию о наиболее часто используемых решениях авторизации на этом сайте