web-dev-qa-db-fra.com

Maintenir la session dans joomla

J'utilise le code ci-dessous pour obtenir une session sur mon site Web Joomla à partir d'une autre application

<?php
session_start();

if (isset($_POST["acode"]) && strlen(trim($_POST["acode"]))!=0)
{
    $_SESSION["bcode"] = $_POST["acode"];
}
else if (isset($_POST["bcode"]) && strlen(trim($_POST["bcode"]))!=0)
{
    $_SESSION["bcode"] = $_POST["bcode"];
}
else if (isset($_POST["ccode"]) && strlen(trim($_POST["ccode"]))!=0)
{
    $_SESSION["ccode"] = $_POST["ccode"];
}else //if(count($_SESSION)==0)
    {
     header("Location: http://www.xyx.in/session_expired.php");
    }

$_SESSION["desk"] = "509";
?> 

Maintenant, je veux le scénario selon lequel personne ne pourrait voir le site Web sans se connecter depuis le bureau. Le scénario est défini de la même manière, par exemple, lorsque je tape le chemin de mon site, il indique une erreur de session expirée.

Maintenant, après la connexion depuis le bureau, le site Web reçoit la session, mais en cliquant sur les sous-menus, la page de session expirée apparaît.

J'ai tout essayé à ma connaissance, mais je ne trouve pas la solution appropriée

1
Brijesh Savaliya

Vous n'êtes pas sûr de bien comprendre votre question, mais si vous souhaitez que le site Web ne soit accessible qu'aux utilisateurs enregistrés, vous pouvez procéder comme suit:

  1. Définir le site Web en mode hors connexion
  2. Dans votre zone d'administration, accédez à l'onglet Configuration globale - Autorisations, puis définissez l'accès hors ligne du groupe enregistré sur Autoriser.
  3. Modifiez la notification hors connexion en indiquant que les utilisateurs devront se connecter pour accéder au site.
1
Bogowoe

Si j'ai bien compris, vous souhaitez que votre site ne soit accessible qu'aux utilisateurs connectés. Pour cela, dans Joomla, vous pouvez prendre l'id de l'utilisateur de connexion, puis cocher pour fournir un accès au site:

<?php 
$user = JFactory::getUser();
$userid = $user->id; //gives you the login user id

//check whether user is guest or not to provide access
if($userid):
   //perform code to provide access to registered users
else:
  //perform code for guest users
endif;
?>

J'espère que cela t'aides

1
user5491