2010-07-09 4 views
0

J'ai un site qui peut être publié et a SSO. Le SSO fonctionne avec un iframe, les détails de l'utilisateur sont donnés dans la chaîne de requête, et l'un des détails doit être haché (MD5). E.g: http://www.come2play.com/channel_auth.asp?channel_id=9000&uid=123456&nick_name=The+Man&auth_sig=dc952e4371e04551684afbcbf12cf14ciframe avec les détails de l'utilisateur dans joomla

Un de mes éditeurs utilise joomla et veut utiliser l'authentification unique. Il n'est pas un programmeur et m'a donné accès à son système joomla en tant qu'administrateur. Tout ce que j'ai à faire est d'ajouter l'iframe avec les détails de l'utilisateur, mais je n'ai aucune idée par où commencer.

j'ai vu comment obtenir ici les détails de l'utilisateur: http: // docs.joomla.org/Accessing_the_current_user_object

Suis-je censé créer une page php? Un joomla artice? Extension? Module? Composant? Je ne suis pas sûr de quoi, et mon objectif est assez simple. Après avoir créé la chose, où est-ce que je l'ai mis? (J'ai accès au serveur web).

Aidez s'il vous plaît!

Répondre

0

Si vous devez transmettre des détails à quelque chose dans un iframe, créez un nouveau dossier dans templates/YOURTEMPLATE/html/afin de pouvoir remplacer le comportement par défaut.

wrapper --tmpl ---- default.php

Vous devez ensuite copier les fichiers à partir de composants/com_wrapper/vues/emballage

Si vous regardez le fichier, vous verrez le code suivant:

<iframe <?php echo $this->wrapper->load; ?> 
id="blockrandom" 
name="iframe" 
src="<?php echo $this->wrapper->url."?username=".$user->username."&email=".$user->email; ?>" 
width="<?php echo $this->params->get('width'); ?>" 
height="<?php echo $this->params->get('height'); ?>" 
scrolling="<?php echo $this->params->get('scrolling'); ?>" 
align="top" 
frameborder="0" 
class="wrapper<?php echo $this->escape($this->params->get('pageclass_sfx')); ?>"> 
<?php echo JText::_('NO_IFRAMES'); ?> 
</iframe> 

Si vous regardez l'attribut src, vous pouvez voir que je passe le nom d'utilisateur et votre email. Vous devriez être capable de faire la même chose pour les autres paramètres

+0

J'ai aussi essayé. Mais Gmail ne montre pas cela ni Outlook. Où exactement cela a fonctionné pour vous? – YumYumYum

0

Je sais que c'est vieux, mais pour tous ceux qui pourraient trébucher sur ce sujet et qui ont parfois besoin d'être simulés. J'ai une page qui se trouve dans un iframe et j'ajouté quelques bits supplémentaires pour être en mesure de se connecter avec l'utilisateur DB:

<?php 
define('_JEXEC', 1); 
define('JPATH_BASE', dirname(__FILE__)); 
define('DS', DIRECTORY_SEPARATOR); 
require_once (JPATH_BASE .DS.'includes'.DS.'defines.php'); 
require_once (JPATH_BASE .DS.'includes'.DS.'framework.php'); 

$mainframe =& JFactory::getApplication('site'); 
$user =& JFactory::getUser(); 
?> 

ci-dessus est de se connecter à la base de données et vous pouvez à partir de là lieu dans les champs pour obtenir les informations de votre utilisateur:

<input type="hidden" name="Nickname" value="<?php print($user->username); ?>"> 
    <?php 
    if($user->username){ 
    print($user->username); 
    }else{ 
    print("You need to <a href=\"http://yoursite.com/index.php/component/users/?view=registration\" title=\"Create an account\" target=\"_top\">register</a> to use chat."); 
    } 
    ?> 

Et/Ou:

Real name: 
     <input type="hidden" name="Realname" value="<?php print($user->name); ?>"> 
     <?php print($user->name); ?> 

espère que cela aide quelqu'un qui en a besoin.

Questions connexes