| 2008-06-10 15:45:45 | Ответить |
|---|---|
|
Ochirov Tsyren Адрес: Новосибирск Сообщений: 38 Регистр: 2008-03-17 его блог 1 сообщ. |
restful authentication |
|
Привет всем! Установил restful authentication, с ней все клёво.
Дальше так, логинюсь и попадаю на страницу юзера, users/mypage/:id и в контроллере пишу Вопрос, как реализовать чтобы после логининга я попадал на эту станицу юзера и не требовалось исползовать params[:id] Понятно, что в таком случае надо использовать session[:id] или вроде этого, но Пробовал писать session[:user] в mypage но появляються такие баги Как быть, может есть другие варианты, просто если использовать первый вариант users/mypage/:id то при смене :id данный юзер попадает на страницу другого эзера где может изменять его конфиги, вот как не продуманно. Надеюсь понятно хоть кому-нибудь моя проблема. |
|
| session, restful authentication |
| 2008-06-08 09:18:55 | Ответить |
|---|---|
|
Ochirov Tsyren Адрес: Новосибирск Сообщений: 38 Регистр: 2008-03-17 его блог 1 сообщ. |
RE: restful authentication |
|
Объясню лучше, чем вчера (хотел спать :) )
К примеру у вас на форуме сслыка на http://rubyclub.com.ua/users/edit/:id Где :id - это мой ID на этом форуме Как только я сменяю :id в строке браузера на другой :id, то меня редиректит на user/list Вопрос, как обработать такой rescue? Учитаваю, что у меня resful_authanticated плагин, где сказано использовать current_user.id для вышего описанного случаю, но это не работает, current_user.id выдает произвольное число а не id юзера Помогите, я уже 20 часов ищу ответ на этот вопрос, и думал столько же. |
|
| 2008-06-10 13:28:42 | Ответить |
|---|---|
|
Ruslan Voloshin Адрес: odessa Сообщений: 1104 Регистр: 2007-03-13 его блог 37 сообщ. |
RE: RE: restful authentication |
| Во первых если ты залогинился, то у тебя при этой утентификации кажется хранится объект пользователя а не его id, если я ошибаюсь тогда все нормально бери id из сессии лии current_user.id и ищи его в базе, но перед поиском добавь проверку того что id установлено, и принадлежит этому пользователю. | |
| authentification |
| 2008-06-10 11:51:17 | Ответить |
|---|---|
|
Ochirov Tsyren Адрес: Новосибирск Сообщений: 38 Регистр: 2008-03-17 его блог 1 сообщ. |
RE: RE: RE: restful authentication |
|
Я понимал, что ты сказал, но скажи пожалуйста, как его заюзать. Мои попытки использовать ControllerHelper ни к чему не привели. Не всё нормально, current_user.id выдает бугагу, а не id юзера. В UserControl пишу @user = User.find_by_id sessions[:id] или @user = User.find_by_id current_user.id Поясни на примере (но подробно и понятно), так как я не понимаю с полу слова. И вообще, до этого я писал :id => session[:id] при обычной регистралки с использованием ссесии и всё было тип топ, а почему в RESTFUL authentication я не могу проделывать тоже самое, вель там тоже используются сессии. |
|
| authentication, restful_authentication |
| 2008-06-06 20:17:06 | Ответить |
|---|---|
|
Ruslan Voloshin Адрес: odessa Сообщений: 1104 Регистр: 2007-03-13 его блог 37 сообщ. |
RE: restful authentication |
|
application.rb
|
|
| 2008-06-07 05:49:21 | Ответить |
|---|---|
|
Ochirov Tsyren Адрес: Новосибирск Сообщений: 38 Регистр: 2008-03-17 его блог 1 сообщ. |
RE: restful authentication |
| Провильный вариант ответа сделать include AuthenticatedSystem в соответствующий контроллер | |
| restful authentication |
| 2008-06-06 03:59:27 | Ответить |
|---|---|
|
Yaroslav Syachin Адрес: Сообщений: 17 Регистр: 2007-08-23 его блог 0 сообщ. |
RE: restful authentication |
| Почему на мало нихрена не отправляется? Или меня забыли предупредить, что нада ещё с бубном попрыгать? Сил уже нет искать этот баг!!! | |
| 2008-06-10 02:38:45 | Ответить |
|---|---|
|
Ochirov Tsyren Адрес: Новосибирск Сообщений: 38 Регистр: 2008-03-17 его блог 1 сообщ. |
RE: RE: restful authentication |
|
покажи весь код который относиться с отправке мыла. У меня тоже были проблемы, но были решены
here environment.rb here user_mailer.rb here user_observer.rb Все работает. |
|
| 2008-06-10 06:49:33 | Ответить |
|---|---|
|
Yaroslav Syachin Адрес: Сообщений: 17 Регистр: 2007-08-23 его блог 0 сообщ. |
RE: restful authentication |
|
Меня больше интерисуют настройки smtp. Я пробую разные варианты,. но понятия не имею, как их использовать. Или они ставятся любые, или надо иметь аккаунт на каком-то почтовике. Ссудя по твоему коду, они могут быть любыми.
У меня всё точно так же как у тя. :( |
|
| 2008-06-08 10:01:15 | Ответить |
|---|---|
|
Ochirov Tsyren Адрес: Новосибирск Сообщений: 38 Регистр: 2008-03-17 его блог 1 сообщ. |
RE: RE: restful authentication |
|
дык, понятно почему у тебя не работает, просто надо в настройках smtp указывать реальный ник и пас твоего почтового сервака, иначе в чем смысл )). Вот к примеру у меня есть аккуант на mail.gorodok.net, у этого почтовика есть smpt по порту 25, я прописываю в рельсах
|
|
| 2008-06-10 07:43:29 | Ответить |
|---|---|
|
Yaroslav Syachin Адрес: Сообщений: 17 Регистр: 2007-08-23 его блог 0 сообщ. |
RE: restful authentication |
|
пробовал и реальный тоже, и смотрел по какому порту они работают.
щас попробую ещё сервак перезапустить, мож это из-за этого. |
|
| 2008-06-10 07:10:04 | Ответить |
|---|---|
|
Yaroslav Syachin Адрес: Сообщений: 17 Регистр: 2007-08-23 его блог 0 сообщ. |
RE: restful authentication |
|
о, блин, прогресс, уже хотя бы приложение ломается:
ActionController::InvalidAuthenticityToken |
|
| 2008-06-10 07:12:01 | Ответить |
|---|---|
|
Yaroslav Syachin Адрес: Сообщений: 17 Регистр: 2007-08-23 его блог 0 сообщ. |
RE: restful authentication |
|
В UsersController, метод create. Вот он:
|
|
| 2008-06-10 07:07:52 | Ответить |
|---|---|
|
Ochirov Tsyren Адрес: Новосибирск Сообщений: 38 Регистр: 2008-03-17 его блог 1 сообщ. |
RE: RE: restful authentication |
| может у тебя отключены кукисы? | |
| 2008-06-10 07:26:27 | Ответить |
|---|---|
|
Yaroslav Syachin Адрес: Сообщений: 17 Регистр: 2007-08-23 его блог 0 сообщ. |
RE: restful authentication |
| да нет, включены. | |
| 2008-06-10 00:22:52 | Ответить |
|---|---|
|
Yaroslav Syachin Адрес: Сообщений: 17 Регистр: 2007-08-23 его блог 0 сообщ. |
RE: restful authentication |
|
Может я делаю что-то не так?
Вот мои действия: 1. Запускаю генератор: 2. В config/enviroment.rb дописываю: По-моему, всё. Подскажите, правильно ли это. |
|
| 2008-06-05 13:31:29 | Ответить |
|---|---|
|
Yaroslav Syachin Адрес: Сообщений: 17 Регистр: 2007-08-23 его блог 0 сообщ. |
RE: restful authentication |
| Ну и ещё на всякий случай узнаю: письмо на мыло должно отправляться после добавления нового пользователя (в моём случае это ссылка users/new)? | |
| 2008-06-04 07:53:46 | Ответить |
|---|---|
|
Ochirov Tsyren Адрес: Новосибирск Сообщений: 38 Регистр: 2008-03-17 его блог 1 сообщ. |
RE: RE: restful authentication |
| всё кульно, и как, заработало? | |
| 2008-06-04 06:31:54 | Ответить |
|---|---|
|
Yaroslav Syachin Адрес: Сообщений: 17 Регистр: 2007-08-23 его блог 0 сообщ. |
RE: restful authentication |
| нет, не работает. мыло не отправляется. кстати я пробовал написать простое приложение с одним только методом отправки мыла, та же история :( | |
| 2008-06-08 04:43:58 | Ответить |
|---|---|
|
Yaroslav Syachin Адрес: Сообщений: 17 Регистр: 2007-08-23 его блог 0 сообщ. |
RE: restful authentication |
|
Заработало. Поменял delivery_method на sendmail и соответственно убрал настройки smtp.
Теперь другой вопрос. Так и не разобрался среди всей этой кучи методов, что отвечает за то, что пользователь авторизирован(т.е. ввёл логин/пароль и вошёл на сайт)? |
|
| 2008-06-05 11:46:07 | Ответить |
|---|---|
|
Ochirov Tsyren Адрес: Новосибирск Сообщений: 38 Регистр: 2008-03-17 его блог 1 сообщ. |
RE: RE: restful authentication |
| глянь в папку lib, файл authenticated_system.rb, там куча функций и там что-то, точно не помню дома на компе все. если английский знаешь то сразу поймешь что за функция | |
| 2008-06-03 16:55:56 | Ответить |
|---|---|
|
Yaroslav Syachin Адрес: Сообщений: 17 Регистр: 2007-08-23 его блог 0 сообщ. |
RE: restful authentication |
|
:) я б не спрашивал, если б нашёл необходимое.
logged_in? active? current_user authorized? это всё не подходит. как я понимаю доступ к сайту осуществляется только после активации аккаунта, а все эти методы возвращают истину или объект после регистрации, когда письмо с активацией ещё даже не дошло. |
|
| 2008-06-06 11:45:56 | Ответить |
|---|---|
|
Yaroslav Syachin Адрес: Сообщений: 17 Регистр: 2007-08-23 его блог 0 сообщ. |
RE: restful authentication |
|
Особо хочу отметить про функцию logged_in?
она действительно проверяет залогиненный пользователь или нет, но после регистрации (без активации) она считает пользователя залогиненным, а не должна. |
|
| 2008-06-06 07:09:59 | Ответить |
|---|---|
|
Ochirov Tsyren Адрес: Новосибирск Сообщений: 38 Регистр: 2008-03-17 его блог 1 сообщ. |
RE: RE: restful authentication |
|
Во-первых, юзер который не активирован, он и не залогинеться. Так что претензии к функции логгд_ин отпали.(функция которая проверяет активирован ли юзер лежит в контроллере)
Во-вторых, тебе нужно узнать, что юзер в онлайне? Если да то просто надо написать такую функцию, если нет, logged_in тебе в руки :) |
|
| 2008-06-05 08:00:22 | Ответить |
|---|---|
|
Станіслав Погребняк Адрес: Жовті Води Сообщений: 23 Регистр: 2008-02-09 его блог 1 сообщ. |
RE: restful authentication |
| Подскажите пожалуйста как заставить правильно работать контроллер session чтобы он возвращал откуда залогинился. Т.Е. я хочу залогиниться и из произвольного места вызываю логин. А он возвращает на root страницу. | |
| restful authentication |
| 2008-06-05 23:18:14 | Ответить |
|---|---|
|
Ochirov Tsyren Адрес: Новосибирск Сообщений: 38 Регистр: 2008-03-17 его блог 1 сообщ. |
RE: RE: restful authentication |
|
в route.rb
в методе соотвественно если index.html.erb у тебя есть root А вообще читай тут htpp://routes.groovie.org/manual.html и поиском учись пользоваться. |
|
| 2008-06-06 13:29:38 | Ответить |
|---|---|
|
Станіслав Погребняк Адрес: Жовті Води Сообщений: 23 Регистр: 2008-02-09 его блог 1 сообщ. |
RE: RE: RE: restful authentication |
| Спасибо за большое ценности совет. Но если внимательно почитать мой пост то можно обнаружить, что я совершенно о другом спрашивал. | |
| 2008-06-06 10:41:14 | Ответить |
|---|---|
|
Станіслав Погребняк Адрес: Жовті Води Сообщений: 23 Регистр: 2008-02-09 его блог 1 сообщ. |
RE: restful authentication |
|
Постараюсь обьяснить поподробней что мне нужно.
Допустим есть у меня ресурс(типа люди). Смотреть можно всем. Для этого есть контроллер "люди" и актион, например, "смотреть". Но выполнять определенное действие только залогиненым (например "пожать руку"). Так вот, мне нужно чтобы можно было сделать link_to login_path на странице "смотреть" и после логина он вернулся на страницу "смотреть". Стандартные фильтры restful authentication не подходят, так как урл формируется динамически и до логина он совершенно не такой как после. Т.Е. если сделать фильтр на пожать руку то не работает. Вот. |
|
| restful authentication |
| 2008-06-07 22:25:42 | Ответить |
|---|---|
|
Ochirov Tsyren Адрес: Новосибирск Сообщений: 38 Регистр: 2008-03-17 его блог 1 сообщ. |
RE: RE: restful authentication |
| Почему бы не сделать постоянной сслыку? | |
| 2008-06-10 07:13:14 | Ответить |
|---|---|
|
Станіслав Погребняк Адрес: Жовті Води Сообщений: 23 Регистр: 2008-02-09 его блог 1 сообщ. |
RE: RE: RE: restful authentication |
| Да это бы решило пару проблем. Но к сожалению так нельзя. | |