web-dev-qa-db-fra.com

Le lien vidéo devrait afficher une invite pour la page de connexion

J'ai un site Web joomla 2.5.4 pour les utilisateurs enregistrés configurés avec LDAP. J'ai copié une vidéo dans le dossier images et je veux donner le lien aux clients. Évidemment, si je place l'URL dans le navigateur, il ouvrira la vidéo directement, mais je veux que si les utilisateurs placent l'URL dans le navigateur, il devrait les amener à la page de connexion/il devrait demander des informations d'identification.

Toute suggestion serait très appréciée.

3
Ferhat

le fichier index.php de joomla n'est pas exécuté lorsque vous accédez à un support. Donc, Joomla n’obtient pas le contrôle lorsque le lien média direct (images, etc.) est fourni.

Donc, si vous vous attendez à ce que joomla déclenche quelque chose ou donne le contrôle avant de servir le contenu, cela ne se produira pas.

Dans ce cas, vous pouvez plutôt fournir un lien direct au média, fournir une URL joomla avec la ressource demandée (par exemple, www.yoursite.com?view=xx&task=XX&media_url=MEDIA_URL) à l'utilisateur.

Créez un plugin qui fonctionnera sur l'événement onAfterRoute, récupérez cette URL et vérifiez si la ressource demandée nécessite une connexion ou non. Si la ressource demandée est autorisée à accéder, servez le contenu.

4
Nick

Voici quelques options pour réaliser ce que vous essayez de faire:

  1. Donnez à vos clients un lien vers un article contenant la vidéo, plutôt que directement vers la vidéo. De cette façon, vous pouvez définir le niveau d'accès requis. Si l'utilisateur n'est pas connecté, il lui sera demandé de se connecter.

  2. Utilisez un plugin appelé Filtre de contenu , qui vous permet d'afficher un contenu différent dans vos articles en fonction de la connexion de l'utilisateur. Ajoutez ensuite quelque chose comme ceci dans votre article (après avoir configuré le plugin):

    {f90filter REGISTERED SHOW}
    Display your media here using any method you like (e.g. AllVideos plugin).
    This is not visible to guests
    {/f90filter}
    
    {f90filter REGISTERED HIDE}
    Create a link to the login page here, or display the login module directly using
    {loadposition}. This will not be visible to logged-in users.
    {/f90filter}
    
  3. Utilisation .htaccess pour restreindre l’accès à un fichier spécifique en procédant comme suit:

    • Créez un fichier texte appelé .htpasswd et assurez-vous que n'est pas dans votre répertoire HTML public.
    • À l'aide d'un outil de génération de mot de passe , créez une liste de noms d'utilisateur et de mots de passe cryptés qui auront accès à vos fichiers. Mettez cette information dans votre .htpasswd fichier.
    • Mettez le code suivant dans votre .htaccess fichier:

      AuthUserFile /path/to/htpasswd/file/.htpasswd
      AuthName "My media file"
      AuthType Basic
      <Files "images/yourmediafile.mp4">
        require valid-user
      </Files>
      
    • En utilisant cette option, Joomla pas sera utilisé pour afficher le fichier ou authentifier l'utilisateur. Un message contextuel s'affiche pour vous demander un nom d'utilisateur et un mot de passe.
3
johanpw