hadiabedzadeh/cheguevaraldap 问题修复 & 功能扩展

解决BUG、新增功能、兼容多环境部署,快速响应你的开发需求

邮箱:yvsm@zunyunkeji.com | QQ:316430983 | 微信:yvsm316

hadiabedzadeh/cheguevaraldap

Composer 安装命令:

composer require hadiabedzadeh/cheguevaraldap

包简介

User logged in via LDAP

README 文档

README

use ldap-connection

  • Read source and write your login code by yourself
  • C# code must compile and upload to another server

Usage:

        $validator = Validator::make($request->all(), [
            'username' => 'required|string',
            'password' => 'required|string|min:2',
        ]);

        if ($validator->fails()) {
            return response()->json($validator->errors(), \Illuminate\Http\Response::HTTP_UNPROCESSABLE_ENTITY);
        }

        $username = \request()->username;
        $type     = (filter_var($username, FILTER_VALIDATE_EMAIL)) ? Controller::LOGIN_TYPE_EMAIL : Controller::LOGIN_TYPE_USERNAME;

        $us = DB::selectOne("SELECT * FROM users WHERE {$type} = :username", ['username' => $username]);

        $credential = [
            $type      => $username,
            'password' => \request()->password
        ];

        $token = auth()->guard('api')->attempt($credential, ['exp' => (auth()->guard('api')->factory()->getTTL() * 60) * 10]);

        if(!$token AND isset($us->ldap_user)){
            if(Helper::cheGuevaraLdap($us->username, \request()->password)){
                $token = auth()->guard('api')->attempt($validator->validated());
            }
        }

        if(!$token){
            return self::response('error', \Illuminate\Http\Response::HTTP_OK);
        }

        $loginById = auth()->guard('web')->loginUsingId(auth()->guard('api')->id(), true);

        return self::response([
            'access_token' => $token,
            'token_type'   => 'bearer',
            'user'         => auth()->guard('api')->user(),
            'expires_in'   => (auth()->guard('api')->factory()->getTTL() * 60) * 10,
            'roles'        => auth()->guard('api')->user()->getRoleNames(),
            'permissions'  => auth()->guard('api')->user()->getPermissionsViaRoles()->pluck('name'),
            'loginById' => isset($loginById) ? $loginById : null
        ], \Illuminate\Http\Response::HTTP_OK);

统计信息

  • 总下载量: 1
  • 月度下载量: 0
  • 日度下载量: 0
  • 收藏数: 0
  • 点击次数: 2
  • 依赖项目数: 0
  • 推荐数: 0

GitHub 信息

  • Stars: 0
  • Watchers: 1
  • Forks: 0
  • 开发语言: PHP

其他信息

  • 授权协议: MIT
  • 更新时间: 2022-12-04

承接程序开发

PHP开发

VUE

Vue开发

前端开发

小程序开发

公众号开发

系统定制

数据库设计

云部署

网站建设

安全加固