Laravel 5:Apache php HTTP身份验证

用户名

我需要有关以下主题的一些帮助和建议。

我的嘘声有一个简单的Apache服务器设置,以及一个简单的php auth设置。一旦使用这样的面板对用户进行了验证。

在此处输入图片说明

他/她将有权访问在其后面运行的所有应用程序。因此,换句话说,此面板用作“网关”,如果您在网关上方,则可以访问(当然,Web服务器上正在运行权限表)。

问题

我使用Laravel 5构建的应用程序需要在后台运行,因此这意味着该应用程序需要知道用户是谁。

使用$_SERVER['PHP_AUTH_USER'];我可以获取username当前登录的用户。

但是,如果我想跟踪user's应用程序上的操作怎么办?我需要类似的东西$this->user_id吗?

所以我在想,一旦用户通过了“门”,我就从他那里获取username并创建一个用户,并将其保存在运行在Laravel后面的数据库中。

  if(isset($_SERVER))
  {
    if ( array_key_exists( 'PHP_AUTH_USER', $_SERVER ) ) {
        $agent = $_SERVER['PHP_AUTH_USER']; //Request::server('PHP_AUTH_USER')

    }

    $user = User::create([
      'username' => $agent,

      ]);
  }

但这使用户每次用户刷新页面时!但是,如果不做进一步,最好的方法是什么?

  1. 我是否需要一个单独的提供程序(我已经在中测试了上面的代码AppServiceProvider)?

  2. $this->user_id保存完后我该怎么做username

注意:我知道Laravel具有开箱即用的基本身份验证功能,但是由于用户尚未在我的数据库中,因此无法使用。我需要像上面一样先创建它们。

汤米

首先,您应该检查数据库中是否已经存在具有提供的用户名的用户。这样,您无需在每次刷新时都创建新用户。然后,您可以使用Auth::login($user);登录用户,该用户允许您使用authLaravel提供中间件(不是auth.basic!)。这样,您可以使用Auth外观在整个App上访问用户,并存储有关该用户的其他信息:

if(isset($_SERVER))
{
    if ( array_key_exists( 'PHP_AUTH_USER', $_SERVER ) ) {
        $agent = $_SERVER['PHP_AUTH_USER']; //Request::server('PHP_AUTH_USER')

        // Try to find an existing user, or create a new one if the user does not exist
        $user = User::firstOrCreate([
            'username' => $agent,
        ]);

        // Authenticate the user
        \Auth::loginUsingId($user->id);
    }
}

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

与PHP共享Laravel身份验证/会话

来自分类Dev

与PHP共享Laravel身份验证/会话

来自分类Dev

Laravel 5身份验证器

来自分类Dev

AngularJS + Laravel 5身份验证

来自分类Dev

laravel 5的CKFinder身份验证问题

来自分类Dev

主页上的Laravel 5身份验证

来自分类Dev

Laravel 5注册身份验证

来自分类Dev

Laravel 5身份验证器

来自分类Dev

Laravel 5管理面板身份验证

来自分类Dev

laravel 5的CKFinder身份验证问题

来自分类Dev

Laravel 5身份验证如何工作?

来自分类Dev

laravel 5:路由身份验证错误

来自分类Dev

Laravel 5身份验证错误

来自分类Dev

Laravel 5身份验证问题

来自分类Dev

创建身份验证laravel 5

来自分类Dev

Apache 2.4和php-fpm不会触发php页面的Apache http基本身份验证

来自分类Dev

Laravel 5忽略身份验证特定路由

来自分类Dev

Laravel 5-身份验证无法正常工作之前

来自分类Dev

Laravel 5-身份验证无法正常工作之前

来自分类Dev

Laravel 5身份验证:更改默认路由

来自分类Dev

如何修改Laravel 5默认身份验证系统

来自分类Dev

Laravel 5 自定义身份验证尝试

来自分类Dev

PHP自动发送HTTP身份验证信息

来自分类Dev

用于HTTP身份验证的简单PHP类

来自分类Dev

用于PHP / Symfony的Elastic beantalk基本HTTP身份验证

来自分类Dev

Apache 基本身份验证,PHP 以启用 FPM 的身份运行

来自分类Dev

Laravel 5.8身份验证

来自分类Dev

Laravel身份验证问题

来自分类Dev

多重身份验证 Laravel