刀片模板中的Laravel重定向问题

Ama*_*mar 9 php redirect laravel-5

我是laravel 5的新人.我正在研究larvel页面安全性,我必须阻止打开一些页面或Url,但是当我{{ Redirect::to('/dashboard') }}在视图中使用时它不起作用.

请帮我找一个use Redirect / Url在laravel视图中的方法(刀片模板)

I have already tried :- 

1. {{ url('/dashboard') }}
2.  {{ Redirect::to('/dashboard') }}

Code :- 
@if(Auth::user()->role_id == 1)
{{ 'Page' }}
@else 
{{ Redirect::to('/dashboard') }}
@endif
Run Code Online (Sandbox Code Playgroud)

谢谢大家

jos*_*ler 15

改为使用JavaScript重定向:

@if(Auth::user()->role_id == 1)
  {{ 'Page' }}
@else 
  <script>window.location = "/dashboard";</script>
@endif
Run Code Online (Sandbox Code Playgroud)

  • 如果用户在浏览器中禁用 javascript 会发生什么 (5认同)
  • 如果您还需要返回消息怎么办?使用`with()`? (3认同)

Tro*_*yer 5

您的问题很难理解,但我想您想在检查用户是否登录后重定向用户.我有一个坏消息,逻辑上的Controller不在视图上.

这意味着您需要检查用户是否在Controller上登录,然后重定向到正确的视图,在Laravel上,最常见的方法是创建一个中间件来检查用户是否登录然后应用正确的逻辑.

您有很多方法可以做到这一点,但首先您需要了解它的工作原理,您可以在Laravel身份验证文档中进行检查.


koo*_*afi 5

@if(your conditions)
    @php
        header("Location: " . URL::to('/'), true, 302);
        exit();
    @endphp
@endif
Run Code Online (Sandbox Code Playgroud)

  • 请详细说明为什么这是答案,这样这对将来的OP有帮助 (2认同)

Gha*_*iya 5

使用带有 Javascript 重定向的路由路径:

  @if(Auth::user()->role_id == 1)
      {{ 'Page' }}
   @else 
      <script>window.location = "{{ route('admin.list') }}";</script>
      <?php exit; ?>
   @endif
Run Code Online (Sandbox Code Playgroud)