|
马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。
您需要 登录 才可以下载或查看,没有账号?注册
×
Codeigniter处理用户登录验证后URL跳转,涉及到My_Controller.php以及登录验证模块User.php,代码如下:
y2 Y, c- R$ }7 J. h0 m* ^5 E Codeigniter处理用户登录验证后URL跳转,涉及到My_Controller.php以及登录验证模块User.php,代码如下:
6 R* c! b- [/ e1 Y# ^: U! e My_Controller.php . }0 I( j1 d+ \0 F4 s3 h) o8 d
class MY_Controller extends CI_Controller
% j c5 O2 [3 f& _3 Q/ U8 T" U* @& F1 p; g2 `1 F
{ 9 g, E9 ?; ~; I. _
public function __construct()
8 [$ k* {- A/ u0 Z/ q
8 X% Q0 p H5 ^6 h {
# e6 \$ X3 A7 \$ w q9 y" M parent::__construct();
( m& V0 K c& `. Q2 y /*判断是否登录,判断当前URL是否是auth/login*/! Q+ |$ z i& C% x
if ( ! $this->tank_auth->is_logged_in()8 E7 y0 ]9 T4 g( u0 @
&& ( $this->router->fetch_class() != 'auth' && $this->router->fetch_method() != 'login')); |: W$ {, A" @: N3 u R5 x
/ K- t% _. ]- R. j/ _! }+ z { + D2 W0 p; O* Z% y3 u
$redirect = $this->uri->uri_string();" `7 \+ U0 i& p g2 h
if ( $_SERVER['QUERY_STRING'])
" `0 o5 H' F5 A/ F: c
; Q0 a9 T1 L1 n! X {
" M2 X& ?5 {3 F( ^" R $redirect .= '?' . $_SERVER['QUERY_STRING'];! S# L9 [/ ^/ ]1 A. ~; b6 Y7 o
' J; M1 c9 [* [% m" r/ F9 {7 s2 C
}
4 B. v" C' G# m9 t* f /*跳转到用户登陆页面,指定Login后跳转的URL*/3 O+ [$ [0 e$ i! P B. b
redirect('auth/login?redirect='.$redirect);4 ?% `8 |( d9 ^( L; y! }
~0 N5 b. W4 e5 t' Q* m. b9 T
}
' Z; c" {# q; z0 x7 y* Y
- f; v8 V; l# e9 i1 I1 e5 ]2 c } ) @( H7 C( x' s5 y
7 t2 `' B1 ] z0 W# o
} # t2 o$ G. R3 |' K e" P
User.php 3 s' k' J+ F0 z
class User extends MY_Controller
, p% e' j+ Q' f; y0 ~& c' f6 H3 D& J
7 R" R2 u7 ~# I% V1 x{ ; S3 Z; K" _! z; j, G
function login()
- S: w' H3 \ u& ~* ?
$ E/ c4 f0 d& F2 p {
- X5 B8 B: V# P; K3 S l if ($this->tank_auth->is_logged_in()) { // logged in; V5 G; m" _ Q
redirect('/');. _/ w( S! [- K `
} else {
k: y9 d$ `) k //other codes here......
- i8 G5 H# k `% I2 I /*判断是否有redirect信息*/
6 I" l% x' N* V) J# E, ^; H5 M $data['redirect'] = isset($_GET['redirect']) ? $_GET['redirect'] : '/';9 C4 f) K" @% @9 E, k
if ($this->form_validation->run()) { // validation ok
( }1 I! C- C6 `" L- S6 k1 S. G if ($this->tank_auth->login(% m0 V& G8 n/ M
$this->form_validation->set_value('login'),
) U9 J, }; z- ?% e; o5 ^ $this->form_validation->set_value('password'),
% ^& z' g3 R9 |; {/ d $this->form_validation->set_value('remember'),1 o% {) u5 w0 c
$data['login_by_username'],
( A8 J+ d/ v* l/ c; ~9 k$ B $data['login_by_email'])) { // success
: I8 z( ]- D3 L/ p3 f5 m% X, l/ H2 | redirect($data['redirect']);8 X) w: ^9 `5 n# S4 ?
} else {
- s p P+ |" q5 x9 m% i //error handling
% G, q# Y. Y; C- Z6 A7 v( e6 W8 o9 D) ^7 W6 O0 u& _* _8 z0 N
}
5 d$ B% g( g: S
& p6 S; n( @* j8 J } 2 y% \* [9 X; }& ? c: B: F
$this->load->view("login_form")
( \' f8 C+ b0 _1 W9 [% s2 \& S7 e' ] a |0 _. V0 f
}
6 [' ]2 W3 S1 _- p
6 l% p D3 L5 {# Q. R } & n( e: u6 r1 a, ]! T2 T- K
" h( O- ?' ], s/*
, y8 [: C: N V0 M& b" l Note: 在login_form中需要注意,提交表单的form地址:) m7 c9 [) R; o+ F
, d( Y; W* r: \8 Y* n8 }" J+ E, v4 K$ F& Y9 p/ A- }- T
*/
8 {8 S$ @$ T! v5 a( a) U3 d% U( z1 G$ X
}
^5 q* y7 ?3 A- j6 W& @2 |, Z, R 在login_form中需要注意,提交表单的form地址:
$ N6 Z8 u. S2 L0 X/ B& e
% l1 e# I0 s* _本文由外链代发http://t.qq.com/wailiandf整理 |
|