不能设置退出后,跳转到文章列表页面
来源:6-9 文章路由控制的实现

永不止息L
2017-12-02
我想设置退出后,跳转到文章列表页面,但是不成功,只能跳转到登陆页面.这个功能是类似于,一旦你退出后你变成了一个游客,依然可以看到所有人发布的文章列表,只是不可以操作编辑删掉等登陆以后才可以实现的功能。
web.php:
<?php
/*
|--------------------------------------------------------------------------
| Web Routes
|--------------------------------------------------------------------------
|
| Here is where you can register web routes for your application. These
| routes are loaded by the RouteServiceProvider within a group which
| contains the "web" middleware group. Now create something great!
|
*/
// 文章列表页
Route::get('/posts', '\App\Http\Controllers\PostController@index');
// 用户模块
Route::get('/',function(){return redirect('/posts');});
// 注册页面
Route::get('/register', '\App\Http\Controllers\RegisterController@index');
// 注册行为
Route::post('/register', '\App\Http\Controllers\RegisterController@register');
// 登陆页面
Route::get('/login', '\App\Http\Controllers\LoginController@index')->name('login');
// 登陆行为
Route::post('/login', '\App\Http\Controllers\LoginController@login');
Route::group(['middleware' => 'auth:web'], function () {
// 登出行为
Route::get('/logout', '\App\Http\Controllers\LoginController@logout');
// 个人设置页面
Route::get('/user/me/setting', '\App\Http\Controllers\UserController@setting');
//个人设置操作
Route::post('/user/me/setting', '\App\Http\Controllers\UserController@settingStore');
// 文章列表页
Route::get('/posts', '\App\Http\Controllers\PostController@index');
// 创建文章
Route::get('/posts/create', '\App\Http\Controllers\PostController@create');
// 文章详情页
Route::get('/posts/{post}', '\App\Http\Controllers\PostController@show');
Route::post('/posts', '\App\Http\Controllers\PostController@store');
// 编辑文章
Route::get('/posts/{post}/edit', '\App\Http\Controllers\PostController@edit');
Route::put('/posts/{post}', '\App\Http\Controllers\PostController@update');
// 删除文章
Route::get('/posts/{post}/delete', '\App\Http\Controllers\PostController@delete');
// 图片上传
Route::post('/posts/image/upload', '\App\Http\Controllers\PostController@imageUpload');
});
LoginController.php:
<?php
namespace App\Http\Controllers;
use App\Http\Middleware\RedirectIfAuthenticated;
use Illuminate\Http\Request;
class LoginController extends Controller
{
//登录页面
public function index()
{
if(\Auth::check()){
return redirect('/posts');
}
return view('login.index');
}
// 登陆行为
public function login()
{
//验证
$this->validate(request(),[
'email'=>'required|email',
'password'=>'required|min:5|max:10',
'is_remember'=>'integer']);
//逻辑
$user = request(['email','password']);
$is_remember = boolval(request('is_remember'));
if(\Auth::attempt($user,$is_remember)){
return redirect('/posts');
}
//渲染
return \Redirect::back()->withErrors('邮箱密码不匹配');
}
// 登出行为
/**
* @return \Illuminate\Http\RedirectResponse|\Illuminate\Routing\Redirector
*/
public function logout()
{
\Auth::logout();
return redirect('/posts');
}
}
1回答
-
qq_Innocence_29
2017-12-03
首先看下你的PostController里index方法的跳转链接改没改过来,其次我发现你贴出来的web.php有两个文章列表页的路由,你看下是不有一个走auth验证中间件了
00
相似问题