首先抱歉我的英语,我会尽力做到最好.
我是Laravel的新手,我试图通过SOAP WS实现自定义身份验证,我声明了实现UserProviderInterface的新类.我成功实现了retrieveByCredentials和validateCredentials方法,但由于我无法访问数据库或全局用户信息,因此无法实现retrieveByID方法.有没有办法让自定义Auth不基于用户ID?
我需要:
- Login and validate user throught SOAP WS
- Store User Info returned by WS.
- Remember me functionality
- Secure routes based on logged user and level of access
- Logout
Run Code Online (Sandbox Code Playgroud)
实施类:
<?php
namespace Spt\Common\Providers;
use Illuminate\Auth\UserProviderInterface;
use Illuminate\Auth\GenericUser;
use Illuminate\Auth\UserInterface;
class AuthUserProvider implements UserProviderInterface{
private $user;
public function __construct(){
$this->user = null;
}
public function retrieveByID($identifier){
return $this->user;
}
public function retrieveByCredentials(array $credentials){
$client = new \SoapClient('webserviceurl');
$res = $client->Validar_Cliente($credentials);
$res = $res->Validar_ClienteResult;
if($res->infoError->bError …Run Code Online (Sandbox Code Playgroud)