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.
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.
Voici quelques options pour réaliser ce que vous essayez de faire:
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.
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}
Utilisation .htaccess
pour restreindre l’accès à un fichier spécifique en procédant comme suit:
.htpasswd
et assurez-vous que n'est pas dans votre répertoire HTML public..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>