alfred-nutile-inc/quick-auth

该软件包已被废弃,并且不再维护。未建议替代软件包。
该软件包最新版本(dev-master)没有可用的许可证信息。

dev-master 2014-10-23 12:40 UTC

This package is not auto-updated.

Last update: 2018-05-08 20:36:00 UTC


README

针对位于router.php文件中的angular路由

2021年10月12日

关于重新设置认证的笔记 http://www.alfrednutile.info/posts/109

在Laravel 5的文档更新之前,我不确定如何在routes.php文件中进行认证过滤,这没关系,因为现在大多数路由都通过注释在控制器中处理。

但对于angular接管且不需要控制器的路由,使用这个可能很容易。

这还将一些逻辑集中起来以处理CI,这样我们就可以根据需要轻松地更改环境。

$router->get('/', function(){
    if($results = QuickAuthFacade::check())
        return $results;
    return Redirect::to('/behat');
});

我还为这个设置了中间件文件

#app/Http/Middleware/AuthMiddleware.php
<?php namespace BehatEditor\Http\Middleware;

use AlfredNutileInc\QuickAuth\QuickAuthFacade;
use Closure;
use Illuminate\Routing\Route;
use Illuminate\Contracts\Auth\Authenticator;
use Illuminate\Contracts\Routing\Middleware;
use Illuminate\Contracts\Routing\ResponseFactory;

class AuthMiddleware implements Middleware {

    /**
     * The authenticator implementation.
     *
     * @var Authenticator
     */
    protected $auth;

    /**
     * The response factory implementation.
     *
     * @var ResponseFactory
     */
    protected $response;

    /**
     * Create a new filter instance.
     *
     * @param  Authenticator  $auth
     * @param  ResponseFactory  $response
     * @return void
     */
    public function __construct(Authenticator $auth,
                                ResponseFactory $response)
    {
        $this->auth = $auth;
        $this->response = $response;
    }

    /**
     * Handle an incoming request.
     *
     * @param  \Symfony\Component\HttpFoundation\Request  $request
     * @param  \Closure  $next
     * @return \Symfony\Component\HttpFoundation\Response
     */
    public function handle($request, Closure $next)
    {
        if($results = QuickAuthFacade::check())
            return $results;

        return $next($request);
    }

}

但如果你没有注册你的中间件,这将不会工作

#app/Providers/AppServiceProvider.php

在protected $middleware下,根据需要将它们更改到应用命名空间等App for Foo,无论你如何称呼它。否则,你仍然会引入默认中间件。

当然,你也可以将你的angular路由移动到一个快速控制器中,以便在其中传递逻辑。

确保在config/app.php提供者列表中包含此内容

'AlfredNutileInc\QuickAuth\QuickAuthServiceProvider',

并在其中设置你的外观数组

'QuickAuth' => 'AlfredNutileInc\QuickAuth\QuickAuthFacade',

Composer安装

有关所需信息的更多信息,请参阅https://packagist.org.cn/packages/alfred-nutile-inc/quick-auth