Laravel- Auth登录验证
来源:互联网 发布:mac表格使用教程 编辑:程序博客网 时间:2024/06/05 01:03
-- 文章仅供个人学习参考,如有不恰当的地方,希望前辈们指教。--
1、修改config\auth.php配置文件
'model' => App\Model\Users::class,'table' => 'users',
2、 修改Users模型类如下:
use Illuminate\Database\Eloquent\Model;use Illuminate\Auth\Authenticatable;use Illuminate\Auth\Passwords\CanResetPassword;use Illuminate\Foundation\Auth\Access\Authorizable;use Illuminate\Contracts\Auth\Authenticatable as AuthenticatableContract;use Illuminate\Contracts\Auth\Access\Authorizable as AuthorizableContract;use Illuminate\Contracts\Auth\CanResetPassword as CanResetPasswordContract;class Users extends Model implements AuthenticatableContract, AuthorizableContract, CanResetPasswordContract{ //使用auth验证必须继承接口 use Authenticatable, Authorizable, CanResetPassword; //修改为自己的用户表 protected $table = 'users'; protected $fillable = ['name', 'email', 'password']; protected $hidden = ['password', 'remember_token'];}
3、修改AuthController控制器
class AuthController extends Controller{ use ThrottlesLogins /* , AuthenticatesAndRegistersUsers*/ ; //因为没有注册功能可以将AuthenticatesAndRegistersUsers注释掉 protected $redirectPath = '/admin'; protected $redirectAfterLogout = '/auth/login'; //注销后的跳转地址 public function __construct() { $this->middleware('guest', ['except' => ['getlogout']]); //在中间件中排除 getlogout函数 ,否则无法注销 } function login() { return view('admin.users.login'); } function getlogout() { if(Auth::check()){ Auth::logout(); //退出登录 } return redirect('/auth/login'); } function auth(Request $request) { $user=$request->only(['name','password']); if(Auth::attempt($user,$request->remember)){ //验证密码 通过后合一用Auth::user() 获取登录用户信息 也可以使用 Auth::loginUsingId($user->id) 来登录 return redirect()->intended('/admin'); }else{ return redirect('/auth/login')->withErrors(['login failed'])->withInput($request->except('password')); } } public function redirectPath() //重构未登录时的跳转地址 { return '/admin'; }}
4、修改文件不同文件 redirectPath
guest中间件:app/Http/Middleware/RedirectIfAuthenticated.php
public function handle($request, Closure $next) { if ($this->auth->check()) { return redirect('/admin'); //修改登录页面默认登陆后的跳转地址 } return $next($request); }
auth中间件:app/Http/Middleware/Authenticate.php
public function handle($request, Closure $next) { if ($this->auth->guest()) { if ($request->ajax()) { return response('Unauthorized.', 401); } else { return redirect()->guest('auth/login'); } } return $next($request); }
5、添加路由
Route::group(['namespace' => 'Auth','prefix'=>'auth'],function(){ route::get('/login','AuthController@login'); route::get('/logout','AuthController@getlogout'); route::post('/login','AuthController@auth'); });route::get('/admin',['namespace' => 'Admin','middleware' => 'auth'],'AdminController@index');
参考教程:http://laravelacademy.org/tutorials/blog
GitHub:https://github.com/CiaraLi/blogtest
7 0
- Laravel- Auth登录验证
- Laravel多用户Auth登录
- laravel auth 登录
- Laravel 5.1 集成 Auth 验证用户注册登录示例
- laravel--Auth
- Laravel5.3使用auth登录验证
- laravel之Auth剖析
- 安卓之使用BASIC AUTH进行登录验证
- laravel 5.2 注册登录(自带) php artisan make:auth
- laravel的Auth认证,登录、注册后的页面回跳
- 我的Laravel学习之路之我的Laravel学习之路之用户注册和登录 Auth
- Laravel 权限控制整理--Auth
- laravel身份验证-Auth的使用
- laravel身份验证-Auth的使用
- Django auth登录
- HTTP AUTH验证
- django项目开发模拟auth的做一个登录验证(一)
- django项目开发模拟auth的做一个登录验证(二)
- 位图排序
- 大数据Hadoop
- Lua中的环境概念
- 剪邮票
- 【vue.js】子组件的参数值不随着父组件值的改变而改变
- Laravel- Auth登录验证
- 在listview嵌套listview 并且想实现点击其中一个item隐藏item的内容
- 小萨的烦恼
- Android-Toast显示图文界面
- 学习利用ReportLab生成PDF报表 -- 准备工作及Demo
- UI线程中非安全操作与安全操作
- 华为在线编程系列-数据分类处理
- python之路 socket、socket server
- c++模板类构建AVlL树及AVL树的单双旋转图文简述,以及插入新节点后如何通过旋转使之继续保持平衡