Tôi có một xà phòng để xác thực người dùngPHP Symfony2 xác thực tùy chỉnh mà không cần cơ sở dữ liệu (SOAP)
<?php
$client = new SoapClient('http://mysite/code/soap.wsdl');
$user = $client->login('username','password');
if(isset($user['IdAccount']) && ($user['IdAccount'] > 0))
echo 'Logon OK';
else
echo 'Logon Fail!';
Tôi muốn sử dụng trong Symfony2 mà không cần cơ sở dữ liệu, chỉ trong bộ nhớ ...
tôi cố gắng thực hiện một Custom UserProvider, nhưng tôi không có tất cả các dữ liệu cần thiết để làm cho nó làm việc ...
class WebserviceUserProvider implements UserProviderInterface
{
public function loadUserByUsername($username)
{
$client = new SoapClient('http://mysite/code/soap.wsdl');
$user = $client->login($username, PASSWORD????);
if (isset($user['IdAccount']) && ($user['IdAccount'] > 0))
return new WebserviceUser($username, PASSWORD????, SALT???, ROLES????);
throw new UsernameNotFoundException(sprintf('Username "%s" does not exist.', $username)
);
}
tôi không thể thay đổi xà phòng
xin lỗi vì tiếng anh xấu của tôi! :(
Để làm điều đó đúng cách, bạn cần bạn sở hữu Nhà cung cấp xác thực tùy chỉnh. Http://symfony.com/doc/current/cookbook/security/custom_authentication_provider.html Không phải là điều dễ thực hiện. hướng dẫn ngược làm việc tốt nhất. Nhưng tôi khuyên bạn nên tìm kiếm một gói xác thực SOAP. Tôi chắc rằng có một vài người tốt. – Cerad