Я использую Thybag
, чтобы получить список, найденный в SharePoint. Список содержит имена пользователей и пароли.
Я создаю форму в PHP и хочу использовать массив, возвращенный из SharePoint, для проверки, если имя пользователя и пароль существуют и верны.
Я скрываю свою учетную запись SharePoint в целях безопасности, но в моем $data
я могу получить необходимые данные.
Мне нужна помощь в форме submit
. Когда пользователь отправляет форму, он должен проверить, существуют ли адрес электронной почты и пароль для одного и того же элемента, поскольку некоторые пароли будут одинаковыми. Адрес электронной почты, конечно, будет уникальным. Вот мой текущий код:
<?php
namespace Drupal\protected_sharepoint\Controller;
use Drupal\Core\Controller\ControllerBase;
use Drupal\Core\Link;
use Drupal\Core\Url;
use Thybag\SharePointAPI;
/**
* Class TableController.
*
* @package Drupal\mc\Controller
*/
class ProtectedSharepointController extends ControllerBase {
public function sharepoint(){
include "Thybag/SharePointAPI.php";
include "Thybag/Auth/SharePointOnlineAuth.php";
include "Thybag/Auth/SoapClientAuth.php";
include "Thybag/Auth/StreamWrapperHttpAuth.php";
include "Thybag/Service/ListService.php";
include "Thybag/Service/QueryObjectService.php";
$sp = new SharePointAPI('<username>', '<password>', '<path_to_WSDL>');
$data = $sp->read('List');
var_dump($data);
if(isset($_POST['btnlogin']))
{
$uname = $data['emailaddress'];
$pass = $data['txtpass'];
foreach($data as $username => $password)
{
if($username == $uname && $password == $pass)
{
$msg = "<p>Login successful</p>";
//if success break the loop
break;
}
else
{
$msg = "<p>Wrong username or password</p>";
}
}
echo $msg;
}
ob_start(); ?>
<form method="post" action="">
<input type="text" name="txtuname" /><br /><br />
<input type="password" name="txtpass" /><br /><br />
<input type="submit" name="btnlogin" value="Login" />
</form>
<?php $markup = \Drupal\Core\Render\Markup::create(ob_get_clean());
return array(
'#markup' => $markup
);
}
}