|
马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。
您需要 登录 才可以下载或查看,没有账号?注册
×
Codeigniter处理用户登录验证后URL跳转,涉及到My_Controller.php以及登录验证模块User.php,代码如下:
4 L& T. G2 q. |: }1 \+ _ Codeigniter处理用户登录验证后URL跳转,涉及到My_Controller.php以及登录验证模块User.php,代码如下:
: d h8 }5 T( P( E7 ^! J My_Controller.php ( K% U: a( t7 _- A# ~
class MY_Controller extends CI_Controller
3 e- g) o5 H7 T* ^2 L8 M
" [' O$ _- k d: L{
- Q$ m' R+ I Q2 l, {+ A public function __construct()
% Q$ E4 M# h4 ~: I$ N
9 _/ }/ c* u4 z. r4 j7 A { ) U' v$ o9 m) `) Q1 |
parent::__construct();
% y) N7 P6 h* b+ y' D /*判断是否登录,判断当前URL是否是auth/login*// R P+ b. Y1 B- u! Z% A1 n
if ( ! $this->tank_auth->is_logged_in()
0 K+ ` @; ?4 |1 m$ { && ( $this->router->fetch_class() != 'auth' && $this->router->fetch_method() != 'login')). o% m; X. X; I$ G, b
5 l; X# I' `2 Y! K' i {
3 U6 T, o: b) A' t $redirect = $this->uri->uri_string();
+ O2 [; N# ?& t& C) N, U if ( $_SERVER['QUERY_STRING'])) l6 p% f& b( V, X/ M
) q) Z$ Q# `5 Y { A7 g; K8 ^" c) d+ C5 H7 d. } L
$redirect .= '?' . $_SERVER['QUERY_STRING']; e5 ], }, |- p$ ? P
8 J6 B9 R @$ R } / A% @/ ?; x/ K
/*跳转到用户登陆页面,指定Login后跳转的URL*/
& @$ b7 c4 q$ ^+ ^7 e" L" m. ` redirect('auth/login?redirect='.$redirect);
: M- z' d2 r) D' q& @$ d' H& v' W# b' X; p( S. @! p2 l
} , c# ^, s9 H' l b
. `0 J- z' o3 _: \; w7 c! @ } - w5 R+ j% m0 b
9 x h6 W8 z8 v: `+ p9 [}
6 Y l9 O$ A1 V W: ~ User.php * z+ M8 _7 T: p2 t0 G. s9 Z1 o# Y5 T
class User extends MY_Controller
% z& K6 S/ d' _0 [; J1 H' \
( W+ r0 v/ {( J0 t( g, _{
8 S- N3 y: A k B- s function login()* J( w$ n) j. E8 [7 h2 q0 [
% q- [& C' F' C# W {
+ w9 G3 N3 u- S, {, D5 V1 { if ($this->tank_auth->is_logged_in()) { // logged in+ ~/ N( b! M- m
redirect('/');9 [2 v2 ~8 N& L
} else {- ]' L R% N5 M4 ^# P. E
//other codes here......
r" L" |7 p+ `3 R6 k /*判断是否有redirect信息*/
. e4 I' b) a! s8 v9 O $data['redirect'] = isset($_GET['redirect']) ? $_GET['redirect'] : '/';
! d2 R. R/ k1 V% A8 @& P if ($this->form_validation->run()) { // validation ok; n2 w4 x5 d6 N( d
if ($this->tank_auth->login(* t0 @. M1 q: A( M4 W6 F2 A* E
$this->form_validation->set_value('login'),- Z2 f& H( [: A/ e4 Y
$this->form_validation->set_value('password'),! E: O1 Y4 j% x! L; v$ Q6 L
$this->form_validation->set_value('remember'),
9 l" @2 y2 j9 U $data['login_by_username'],, O- Q0 O0 ?1 d" q6 Q
$data['login_by_email'])) { // success9 O1 ^( I p3 w" n5 y0 b6 M
redirect($data['redirect']);+ M6 x: w6 k) M" s2 T
} else {
2 r! \( o9 C/ h. | //error handling' ]7 G3 j3 R" F0 d0 U, B
' \4 G4 g5 n9 E0 N8 G
}
0 W! L+ A+ P) k* n0 K w* R: t2 e* M2 C& }+ Y7 i3 C1 H
}
) D) B; l6 w5 [, T $this->load->view("login_form")
( {. D ~0 b8 x: ~+ w9 m
. }$ R/ j( K! a- ~* J- T }
* u) E- G8 I1 [$ o7 L) I6 x
7 A( f- f/ Z b9 { o } $ D- M& |. t [3 \3 i3 [- Q0 }
9 _) ?1 e. P7 a: W& [- e
/* - A# e8 A0 d. i; M$ q( H& p
Note: 在login_form中需要注意,提交表单的form地址:9 ~& }/ S u: S7 U
5 B$ e0 x/ p5 s* y& @5 X' M
9 l4 i( C& f# s0 W*/
6 F; T4 R' C4 H3 o* s' Z$ p. N" B# }7 L* u
}
2 l# D8 i$ w" k }" g4 { 在login_form中需要注意,提交表单的form地址:
2 m' o- y& r+ B; I
7 y1 k0 S# x+ E# W- D本文由外链代发http://t.qq.com/wailiandf整理 |
|