[英]Understanding Joomla default login
一般而言,我對Joomla和Php還是陌生的。 我需要了解Joomla如何執行登錄操作(通過php代碼)。 以下是執行該操作的php代碼段:
<form action="<?php echo JRoute::_('index.php?option=com_users&task=user.login'); ?>" method="post">
<fieldset>
<?php foreach ($this->form->getFieldset('credentials') as $field): ?>
<?php if (!$field->hidden): ?>
<div class="login-fields"><?php echo $field->label; ?>
<?php echo $field->input; ?></div>
<?php endif; ?>
<?php endforeach; ?>
<?php if (JPluginHelper::isEnabled('system', 'remember')) : ?>
<div class="login-fields">
<label id="remember-lbl" for="remember"><?php echo JText::_('JGLOBAL_REMEMBER_ME') ?></label>
<input id="remember" type="checkbox" name="remember" class="inputbox" value="yes" alt="<?php echo JText::_('JGLOBAL_REMEMBER_ME') ?>" />
</div>
<?php endif; ?>
<button type="submit" class="button"><?php echo JText::_('JLOGIN'); ?></button>
<input type="hidden" name="return" value="<?php echo base64_encode($this->params->get('login_redirect_url', $this->form->getValue('return'))); ?>" />
<?php echo JHtml::_('form.token'); ?>
</fieldset>
</form>
據我了解,第一行執行POST請求以將用戶名和密碼發布到服務器。 此外,成功驗證后應檢索會話令牌。 但是,我無法弄清楚此行中的用戶名和密碼(由用戶插入並應通過POST請求發送)的確切位置。 或者,它們是從哪里找來的? 另外,響應內容(會話令牌)存儲在哪里?
我的目標是使用JavaScript模仿請求,以便我可以使用外部移動應用執行登錄。 換句話說,我需要用JavaScript編寫相同的邏輯,以便可以從移動應用程序登錄網站。
這些字段是從login.xml文件中的以下路徑\\ components \\ com_users \\ models \\ forms中檢索的。 getFieldset('credentials')將在上述文件中以名稱“ credentials” <fieldset name="credentials"
獲得字段集的字段詳細信息。您可以使用foreach顯示該字段。 您可以參考此鏈接以獲取更多信息。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.