Codeigniter处理用户登录验证后URL跳转

涉及到My_Controller.php以及登录验证模块User.php,代码如下:

My_Controller.php

class MY_Controller extends CI_Controller
{
    public function __construct()
    {
        parent::__construct();
        /*判断是否登录,判断当前URL是否是auth/login*/
        if ( ! $this->tank_auth->is_logged_in()
                && ( $this->router->fetch_class() != ‘auth‘ && $this->router->fetch_method() != ‘login‘))
        {
            $redirect = $this->uri->uri_string();

            if ( $_SERVER[‘QUERY_STRING‘])
            {
                $redirect .= ‘?‘ . $_SERVER[‘QUERY_STRING‘];
            }
            /*跳转到用户登陆页面,指定Login后跳转的URL*/
            redirect(‘auth/login?redirect=‘.$redirect);
        }
    }
}

User.php

class User extends MY_Controller
{
    function login()
    {

        if ($this->tank_auth->is_logged_in()) {                                    // logged in
            redirect(‘/‘);

        } else {
            //other codes here......
            /*判断是否有redirect信息*/
            $data[‘redirect‘] = isset($_GET[‘redirect‘]) ? $_GET[‘redirect‘] : ‘/‘;

            if ($this->form_validation->run()) {                                // validation ok
                if ($this->tank_auth->login(
                        $this->form_validation->set_value(‘login‘),
                        $this->form_validation->set_value(‘password‘),
                        $this->form_validation->set_value(‘remember‘),
                        $data[‘login_by_username‘],
                        $data[‘login_by_email‘])) {                                // success
                    redirect($data[‘redirect‘]);

                } else {
                    //error handling
                }
            }
            $this->load->view("login_form")
        }
    }
/*
Note: 在login_form中需要注意,提交表单的form地址:
<?php echo form_open(site_url("/auth/login?redirect=".$redirect)); ?>
*/
}

在login_form中需要注意,提交表单的form地址:
<?php echo form_open(site_url("/auth/login?redirect=".$redirect)); ?>
时间: 2024-11-03 21:16:46

Codeigniter处理用户登录验证后URL跳转的相关文章

使用Shiro登录成功后,跳转到之前访问的页面实现

转:http://blog.csdn.net/lhacker/article/details/20450855 很多时候,我们需要做到,当用户登录成功后,跳转回登录前的页面.如果用户是点击"登录"链接去到登录页面进行登录的,我们很容易跟踪用户的登录前的页面.比如,在"登录"链接后加一个url参数,如:http://www.xxx.com/login.html?url=http://www.xxx.com/xx.html,这个url就是当前页面.用户浏览不同页面,&q

android loginDemo +WebService用户登录验证

本文是基于android4.0下的loginActivity Demo和android下的Webservice实现的.loginActivity是android4.0下的自带演示例程,他自带登录界面.用户名格式设定.输入密码和用户名格式是否正确.用户登录时间进度条等功能,用户可以在这个例程的基础上延伸出自己login用户登录程序.在这里我没有对这个程序做过多的延伸,只是增加Webservice验证用户登录的功能,使其成为一个完整的网络用户登录验证的模块程序.在这我会对这个Demo做全面的解析,使

简明Python教程(四)———用户登录验证

例子: 实现目标,用Python编写用户登录验证脚本. 知识点: 1.while和if控制流 2.运算表达式 验证过程: 脚本: #!/usr/bin/env python#filename : User login authentication#import sysname = 'Tiger'passwd = '123456'counter = 0times = 3while True:                         #-----------无限循环 username = r

yii 用户登录验证(cwebuser) yii 用户登录 (记)

yii 的确是一个强大而臃肿的框架,简单的小项目,或者只做后台接口调用的项目,建议不要用. 今天记录一下yii使用中cwebuser(Yii::app()->user->login())登录: 1.准备工作 官方标准做法,在components里加一个UserIdentity.php文件,class UserIdentity extends CUserIdentity 继承CUserIdentity,然后在UserIdentity类里面写验证的业务过程(比如你在哪张表去查数据,取数据之类) 2

linux命令:系统裁剪之三login: 用户登录验证

Linux系统裁剪笔记 1.什么裁剪? 本篇文章的主要目的是让笔者和读者更深的认识Linux系统的运作方式,大致内容就是把Linux拆开自己一个个组件来组装,然后完成一个微型的Linux系统.下面,让我们来实现吧..写的不好的地方请指教. 2.原理 大家都知道,操作系统的启动流程是(主要是Linux):POST->BIOS->MBR-kernel-->initrd-->sbin/init, POST,BIOS都不是我们管的,所以这里我们从MBR开始,Linux的系统引导先主要是用的

ASP.NET MVC3 实现用户登录验证

原文:ASP.NET MVC3 实现用户登录验证 自定义一个授权筛选器类,继承于AuthorizeAttribute: using System; using System.Web; using System.Web.Mvc; namespace MvcApplication1 { public class DWAuthorizeAttribute : AuthorizeAttribute { /// <summary> /// 判断用户是否登录 /// </summary> //

struts2 学习(三) ----- 用户登录验证

下面是struts2 的第三个程序(用户登录验证)步骤:(需要新建login.jsp,Login.java和message.jsp) 1.增加Struts框架,步骤在第一篇中. 2.新建一个login.jsp.布局如下: 3.然后新建一个class,名为Login.java,代码如下: 4.在struts.xml文件中,代码如下: 5.新建message.jsp页面,代码如下: 6.OK,运行. **************************************************

IdentityServer4 登录成功后,跳转到原来页面

IdentityServer4 登录成功后,默认会跳转到Config.Client配置的RedirectUris地址http://localhost:5003/callback.html,用于获取 Token,比如跳转后的地址: http://localhost:5003/callback.html#id_token=eyJhbGciOiJSUzI1NiIsImtpZCI6IjkwYWRmOTliMDhmODExMjBiMzdlMWI1NzVmMDliODcwIiwidHlwIjoiSldUIn

DJANGO用户登录验证完整代码

1,urls.py内容: from django.conf.urls import url from django.contrib import admin from myApp import views urlpatterns = [ url(r'^admin/', admin.site.urls), url(r'^login/$', views.login), url(r'^index/$', views.index), ] 2,views.py内容 说明: 要使用session前提是要在s