12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970 |
- <?php
- namespace 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();
- }
- }
|