| 12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970 | <?phpnamespace App\Services\Statistics\Auth;/*use App\Models\StatisticsUser;*/use Encore\Admin\Auth\Database\Administrator;use Illuminate\Contracts\Auth\Authenticatable;use App\Repositories\Statistics\StatisticsUserRepository;use Illuminate\Database\Eloquent\Model;use Illuminate\Support\Facades\Auth;use Illuminate\Support\Facades\Cache;use Illuminate\Support\Facades\Hash;use App\Models\Admin\SubsiteAdminUser;class AuthService{    /**     * AuthService constructor.     */    protected $statisticsUserRepository;    protected $administrator;    public function __construct(StatisticsUserRepository $statisticsUserRepository, Administrator $administrator)    {        $this->statisticsUserRepository = $statisticsUserRepository;        $this->administrator = $administrator;    }    public function loginByAccount($account, $password = '', $isAutoLogin = 0)    {        $user=$this->checkUser($account, $password);        if (!$user) {            return false;        }        $this->login($user, $isAutoLogin);        return $user;    }    public function checkUser($username, $password)    {        $user=$this->administrator->where(['username'=>$username])->first();        if (!$user) {            return false;        }        if ($password && !Hash::check($password, $user->password)) {            return false;        }        return $user;    }    public function login($user, $isAutoLogin = 0)    {        $isAutoLogin=$isAutoLogin?true:false;        if ($user instanceof Administrator) {            Auth::guard('admin')->login($user, $isAutoLogin);        }    }    public function logout()    {        Auth::guard('admin')->logout();    }    public function getUserRelativeSubsites($user)    {        $where = ['admin_user_id'=>$user->id];        return SubsiteAdminUser::where($where)->pluck('subsite_id')->toArray();    }}
 |