精华内容
下载资源
问答
  • Laravel 5.4重新登录实现跳转到登录前页面的原理和方法
    2021-04-16 15:07:34

    前言

    本文主要给大家介绍的是关于Laravel5.4重新登录跳转到登录前页面的相关内容,分享出来供大家参考学习,下面话不多说,来一起看看详细的介绍:

    一、应用场景:

    用户登陆后存在过期时间,超时用户需重新登录。例:当用户在/user/2 页面,登陆过期后跳转到登陆页面,登陆后用户还应在/user/2而不是home/index。

    二、实现原理

    在判断用户过期后,存储用户当前的url地址到session中,下次登陆后跳转到此url地址。

    三、laravel中的具体实现

    路由中间件(判断登陆状态) 这里以cookie是否过期判断用户登陆状态,中间件只判断登陆相关判断和执行,不做多余操作(登录时我使用cookie的值$token作为session的键存储),代码如下:

    public function handle($request, Closure $next) {

    //判断cookie是否存在

    if ($token = Cookie::get("token")) {

    //判断session信息,保持状态一致

    if ($request->session()->get($token)) {

    return $next($request);

    }

    }

    //获取当前url,跳转到登陆页

    $returnUrl = urlencode($request->getRequestUri());

    return redirect("/login?reurl=" . $returnUrl); }

    登陆端(处理与页面交互以及跳转逻辑)这里做的是跳转到登陆页,这个可以在中间件实现,只有这一句,with实现的是将reurl闪存,提供前端使用。

    return redirect("/")->with("reurl", $returnUrl);

    页面端(判断闪存信息) 判断闪存的信息,这里分ajax和submit登陆,submit应该很少了,ajax下获取reurl,然后后端登陆判断reurl。

    @if (session("reurl"))

    @endif

    登陆(登陆逻辑) 省略了判断用户账户密码,和存储cookie,session的逻辑,最后前端获取url,location.href = "url",跳转到原url地址。

    $reurl = $request->get("reurl");

    $url = empty($reurl) ? "/home/index" : $reurl;

    return response($url);

    注:本文只贴出了实现重新登录的相关代码,实际代码请按照实际业务做对应修改。

    总结

    以上就是这篇文章的全部内容了,希望本文的内容对大家的学习或者工作能带来一定的帮助,如果有疑问大家可以留言交流,谢谢大家对网页设计的支持。

    更多相关内容
  • laravel 自动跳转页面

    2021-04-16 15:08:19
    问题 一输入http://localhost/auth/login 或者 http://localhost/auth/register 就会自动跳转到http://localhostLaravel版本信息"name": "laravel/laravel","description": "The Laravel Framework.","keywords": [...

    问题 一输入http://localhost/auth/login 或者 http://localhost/auth/register 就会自动跳转到http://localhost

    Laravel版本信息

    "name": "laravel/laravel",

    "description": "The Laravel Framework.",

    "keywords": ["framework", "laravel"],

    "license": "MIT",

    "type": "project",

    "require": {

    "php": ">=5.5.9",

    "laravel/framework": "5.2.*",

    "laravelcollective/html":"5.2.*"

    },

    http://localhost/auth/register 页面

    <div class="col-md-4 col-md-offset-4">

    {!! Form::open(["url"=>"/auth/register"]) !!}

    <div class="form-group">

    {!! Form::label('name', 'Name:') !!}

    {!! Form::text('name', null, ['class' => 'form-control']) !!}

    </div>

    <div class="form-group">

    {!! Form::label('email', 'Email:') !!}

    {!! Form::email('email', null, ['class' => 'form-control']) !!}

    </div>

    <div class="form-group">

    {!! Form::label('password', 'Password:') !!}

    {!! Form::password('password', ['class' => 'form-control']) !!}

    </div>

    <div class="form-group">

    {!! Form::label('password_confirmation', 'Password_confirmation:') !!}

    {!! Form::password('password_confirmation', ['class' => 'form-control']) !!}

    </div>

    {!! Form::submit('注册', ['class' => 'btn btn-primary form-control']) !!}

    {!! Form::close() !!}

    </div>

    http://localhost/auth/login 页面

    <div class="col-md-4 col-md-offset-4">

    {!! Form::open(["url"=>"/auth/login"]) !!}

    <div class="form-group">

    {!! Form::label('email', 'Email:') !!}

    {!! Form::email('email', null, ['class' => 'form-control']) !!}

    </div>

    <div class="form-group">

    {!! Form::label('password', 'Password:') !!}

    {!! Form::password('password', ['class' => 'form-control']) !!}

    </div>

    {!! Form::submit('登录', ['class' => 'btn btn-primary form-control']) !!}

    {!! Form::close() !!}

    </div>

    路由

    Route::group([‘middleware’ => [‘web’]], function () {

    Route::resource("articles", "ArticlesController");

    Route::get("auth/login", 'Auth\AuthController@getLogin');

    Route::post("auth/login", 'Auth\AuthController@postLogin');

    Route::get("auth/register", 'Auth\AuthController@getRegister');

    Route::post("auth/register", 'Auth\AuthController@postRegister');

    Route::get("auth/logout", 'Auth\AuthController@logout');

    Route::get('/', function () {

    return view('welcome');

    });

    });

    指定注册后跳转路径

    protected $redirectPath ="/articles";

    展开全文
  • laravel 成功跳转页面

    千次阅读 2018-06-28 10:51:00
    自定义HTML页面 1 <div id="applyFor" style="text-align: center; width: 500px; margin: 100px auto;"> 2 {{ $message }},将在<span class="loginTime" style="color: red">{{ $jumpTime }}<...

    自定义HTML页面

     1 <div id="applyFor" style="text-align: center; width: 500px; margin: 100px auto;">
     2     {{ $message }},将在<span class="loginTime" style="color: red">{{ $jumpTime }}</span>秒后跳转至<a href="{{ $url }}" style="color: red">首页</a>页面
     3 </div>
     4 
     5 
     6 <script type="text/javascript" src="{{ URL::asset('js/admin/lib/jquery/1.9.1/jquery.min.js') }}"></script>
     7 <script type="text/javascript">
     8     $(function(){
     9         var url = "{{$url}}";
    10         var loginTime = parseInt($('.loginTime').text());
    11         var time = setInterval(function(){
    12             loginTime = loginTime-1;
    13             $('.loginTime').text(loginTime);
    14             if(loginTime==0){
    15                 clearInterval(time);
    16                 window.location.href=url;
    17             }
    18         },1000);
    19     })
    20 </script>

    web.php 路由

    1 // 成功页面
    2 Route::get('/admin/success', function(){
    3     return view('Admin.success')->with([
    4         'message'=>'你已经提交申请,请您耐心等待!',
    5         'url' =>'/index',
    6         'jumpTime'=>3,
    7     ]);
    8 });

     

    控制器返回

     

    转载于:https://www.cnblogs.com/php08049/p/9237581.html

    展开全文
  • laravel 页面跳转提示

    千次阅读 2019-07-10 15:56:58
    redirect('/error')->with(['message'=>'登录成功,即将跳转到后台首页','url' =>'/home', 'jumpTime'=>3,'response'=>'302']); blade页面: @include('customer.public.css') .layadmin-tips { margin-...
    控制器
    namespace App\Http\Controllers\Customer;
    use App\Http\Controllers\Controller;
    
    class Error extends Controller {
    
        public static function index(){
            //验证参数
            if(!empty(session('message')) && !empty(session('url')) && !empty(session('jumpTime'))){
                $data = [
                    'message' => session('message'),
                    'url' => session('url'),
                    'jumpTime' => session('jumpTime'),
                    'response' => session('response')
                ];
            } else {
                $data = [
                    'message' => '请勿非法访问!',
                    'url' => '/',
                    'jumpTime' => 3,
                    'response' => false
                ];
            }
            return view('customer.error.error',['data' => $data]);
        }
    }

    路由:

    Route::resource('/error','Error');

     

    使用:

    redirect('/error')->with(['message'=>'登录成功,即将跳转到后台首页','url' =>'/home', 'jumpTime'=>3,'response'=>'302']);

    blade页面:

    @include('customer.public.css')
    <style>
        .layadmin-tips {
            margin-top: 30px;
            text-align: center;
        }
        .layadmin-tips .layui-icon[face] {
            display: inline-block;
            font-size: 300px;
            color: #393D49;
        }
        .layadmin-tips .layui-text {
            width: 500px;
            margin: 30px auto;
            padding-top: 20px;
            border-top: 5px solid #009688;
            font-size: 16px;
        }
    </style>
    <div class="">
        <div class="layui-fluid">
            <div class="layadmin-tips">
                <i class="layui-icon" face>&#xe664;</i>
    
                <div class="layui-text" style="font-size: 20px;">
                    {{$data['message']}}
                </div>
    
            </div>
        </div>
    
    </div>
    <div style="display: none">
        <div id="response">{{$data['response']}}</div>
        <div id="url">{{$data['url']}}</div>
    </div>
    @include('customer.public.script')
    @include('customer.public.footer')
    <script>
        $(function () {
            var response = $("#response").html();
            var url = $("#url").html();
            if(response == '302'){
                if(self != top){
                    setTimeout(top.location.href = url,5000);
                }else {
                    setTimeout(window.location.href = url,5000);
                }
            }
        })
    </script>

     

    展开全文
  • 今天小编就为大家分享一篇Laravel重定向,a链接跳转,控制器跳转示例,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
  • 今天小编就为大家分享一篇laravel添加前台跳转成功页面示例,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
  • laravel添加前台跳转成功页面

    千次阅读 2019-01-02 10:35:14
    laravel添加前台跳转成功页面**创建视图****在controller里面返回视图** 创建视图 创建视图success.blade.php &amp;lt;!doctype html&amp;gt; &amp;lt;html lang=&quot;{{ str_replace('_', '-', ...
  • Laravel中的几种跳转方式

    千次阅读 2018-08-26 18:07:53
    1、a链接跳转: &lt;a class="btn btn-success" href="{{url('admin/organization/createAuthCodeView', ['id' =&gt; $list['id']])}}"&gt;生成注册码&lt;/a&gt;   2...
  • Laravel5.5的提示跳转

    千次阅读 2018-03-24 14:38:50
    浏览器页面将在<b id="loginTime_continue">{{ $data['jumpTime'] }}秒后跳转......(0);" class="jump_now">立即跳转</a> @endif @if ($data['status']=='warning') 警告 <p>{{$data['message']}} 浏览器...
  • Laravel跳转方式

    2016-10-17 09:43:00
    简单测试了Laravel的三种跳转,代码如下 在routes.php中写了以下路由 Route::controller('main', 'IndexController'); // Route::get('index','IndexController@index'); // Route::get('main/lo','...
  • view 中的页面 -> app.js -> component 中的 vue 文件 创建路由 在 routes/web.php 中添加一个路由,网址为 /testVueRoute,显示页面为 resources/view 中的 testVueRoute.blade.php Route::get('/...
  • Laravel5.1开发项目的时候,经常碰到需要携带错误信息到上一个页面,开发web后台的时候尤其强烈。 直接上: 方法一:跳转到指定路由,并携带错误信息 return redirect('/admin/resource/showAddResourceView/...
  • Laravel-admin 这个后台很好用,几乎省去了html和js的困扰,让后台CURD变得优雅简洁。 这是一个自定义面的Demo 路由定义: $router->get('mails/send', 'MailController@send'); $router->post('mails/send', '...
  • 登录后都是跳转后/home,如何跳转到上一页(登录前的页面)/(没有登录前页面跳转到home)?每次都是跳转到home这样不是很好,用户还等去倒退或者是历史记录找之前的页面public function handle($request, Closure $next)...
  • 今天小编就为大家分享一篇Laravel 已登陆用户再次查看登陆页面的自动跳转设置方法,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
  • Laravel 处理404页面

    2021-12-30 15:33:37
    如果我们404的时候想重定向到首页地址可以用下面这句话 这句话请务必放在最下面。否则会有问题。 Route::fallback(function () { return redirect("/"); });
  • //找到app/Exceptions/Handler.php打开,添加下面代码,记得先use一下use Symfony\Component\HttpKernel\Exception\MethodNotAllowedHttpException;use Symfony\Component\HttpKernel\Exception\...
  • laravel之url跳转

    千次阅读 2019-03-26 19:46:00
    1.先写一下路由 2.在写a标签跳转 转载于:https://www.cnblogs.com/nzc520/p/10602954.html
  • 一,响应:(常规响应和ajax响应) (1)常规响应: 可以响应视图,字符串...案例:创建路由,访问响应的页面,获取member表的信息,页面输出json格式响应。 1,创建路由; Route::get('xiangying','TestController@.
  • laravel跳转,路由设置

    千次阅读 2018-10-28 20:44:53
    跳转的方法 方法: &lt;a href="{{url('rizhi')}}"&gt; href中可以用{{url()}}方法直接访问控制器方法 路由中的接收方式get post 参数: 第一个是要访问的名称 第二个是控制器 加 控制器...
  • } 前端页面 {{$message}},将在{{$time}}秒后自动跳转 其他实现 如果中转页面使用不频繁,也可以考虑不用中转页面跳转,也可以通过简单的方法实现。 发送跳转请求: return redirect('/')->with('message', 'Message...
  • laravel 控制器跳转_Laravel的控制器

    千次阅读 2020-08-01 23:51:33
    laravel 控制器跳转For further process we need to know something about it, 为了进一步处理,我们需要了解一些有关它的信息, You can say that the Controller is the entry point of any project or any web-...
  • <p>I'm having an issue now after installing <a href="https://github.com/elic-dev/laravel-math-captcha" rel="nofollow noreferrer">laravel-math-captcha</a> though it was working fine for 2 days with ...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 2,296
精华内容 918
关键字:

laravel跳转页面