Yii Framework Forum: Logowanie - Yii Framework Forum

Jump to content

Page 1 of 1
  • You cannot start a new topic
  • You cannot reply to this topic

Logowanie Rate Topic: -----

#1 User is offline   test_yii 

  • Newbie
  • Yii
  • Group: Members
  • Posts: 14
  • Joined: 16-January 12

Posted 30 January 2012 - 03:11 PM

Witam, stworzyłem sobie mini stronkę która wymaga logowanie do wykonania jakiejkolwiek akcji. Dlatego chciałbym aby po wpisaniu adresu głównego od razu wyświetlił się formularz logowania. Podmieniłem w pliku konfig domyślny kontroler z site na user, w user ustawilem odpowiednią akcje na default i wszystko śmiga ok - jest tylko jeden mały makament - gdy zalogowany wywoła str. główną (ustawiona już domyślnie na logowanie) - str sie po prostu nie wyswietla
0

#2 User is offline   mnivo 

  • Newbie
  • Yii
  • Group: Members
  • Posts: 10
  • Joined: 04-March 11

Posted 30 January 2012 - 03:33 PM

Witam serdecznie,

Musisz w pliku SiteController.php edytować funkcje actionLogin()
$this->redirect(Yii::app()->user->returnUrl)

wstawić to:
$this->redirect(array('/controller/views'));


To chyba najprostszy sposób. Pozdrawiam
0

#3 User is offline   test_yii 

  • Newbie
  • Yii
  • Group: Members
  • Posts: 14
  • Joined: 16-January 12

Posted 31 January 2012 - 03:05 AM

Hm..? Działa. Ale jakby ktoś chciał się podzielić jakimś innym rozwiązaniem to byłoby super - sam jak na coś ciekawego wpadnę to się podzielę.
0

#4 User is online   sidewinder 

  • Standard Member
  • PipPip
  • Yii
  • Group: Members
  • Posts: 218
  • Joined: 08-July 09
  • Location:Poland

Posted 31 January 2012 - 03:52 AM

Sposób wysłany przez mnivo faktycznie jest najprostszy, ale też bardzo nieelastyczny. Myślę, że najlepiej rozwiązać ten problem tak jak radzą twórcy Yii :).
W kontrolerze zdefiniuj sobie listę dostępową, tak żeby dostęp do wszystkich akcji był tylko dla zalogowanych użytkowników. Następnie ustaw odpowiedni adres w tablicy loginUrl klasy CWebUser. Koniecznie cofnij zmiany z akcji login które zaproponował mnivo. Teraz przy próbie uruchomienia dowolnej akcji w kontrolerze ze zdefiniowaną listą dostępową yii sprawdzi, czy użytkownik jest zalogowany, jeżeli jest to przepuści dalej, jeżeli nie, to przekieruje na stronę logowania i po udanym logowaniu wróci do strony którą wybrał użytkownik (usunięte Yii::app()->user->returnUrl).
Zaleta tego rozwiązania polega na tym, że nie ma żadnego adresu wpisanego na sztywno. Dla mnie nie ma nic gorszego niż przeglądanie strony przez 10 minut, dojście do obszaru zabezpieczonego, logowania i powrót na stronę główną.

Adresy:
http://www.yiiframew...-control-filter
http://www.yiiframew...rization-result
http://www.yiiframew...loginUrl-detail
---------------------------------------------------------------------
"Never memorize what you can look up in books."
Albert Einstein
0

Share this topic:


Page 1 of 1
  • You cannot start a new topic
  • You cannot reply to this topic

1 User(s) are reading this topic
0 members, 1 guests, 0 anonymous users