Je suis a la recherche de quelque lumière sur un petit problème avec slim framework.
J'utilise Slim pour faire une api, j'adore ce framework!! il est tout bonement genial!! mais voila, je voudrais utilisé aussi slim pour pouvoir faire un blog perso et donc avoir une adminisration, et une vue sans connection. mais je ne sais pas comment dissocier mes 2 partie. la partie public aurai la partie visible a tous le monde et la partie admin contiendrais l'administration de mon blog.
je pense qu'il faut utiliser le .htacces mais je ne sais pas du tous comment, j'ai aucune experience dans ce domaine. Quelqu'un aurais une idée?
Salut,
Le .htaccess
fourni dans la doc de Slim Framework répond à tes besoins:
RewriteEngine On
RewriteCond %{REQUEST_FILENAME} !-f
RewriteRule ^ index.php [QSA,L]
Il suffit qu'un fichier appellé admin.php
existe, et tu pourras y accéder.
Tu pourrais modifier le .htaccess
pour mieux répondre à tes besoins.
RewriteEngine On
RewriteRule ^admin$ admin.php [QSA,L]
RewriteCond %{REQUEST_FILENAME} !-f
RewriteRule ^ index.php [QSA,L]
Le différence est que si tu accèdes à site.com/admin
, tu seras redirigé vers admin.php
.
J'essai ce demain merci :-) je pourrai avoir un peut plus d'explication sur la composition de se htaccess stp? pour comprendre un peut a quoi cela correspond
edit: Bon ben désolé, ca ne fonctionne pas du tout, ou alors j'ai mon squelette de dossier qui est pas optimisé pour ca
@Greg: Si j'ai bien compris, il souhaite séparer completement la partie admin. C'est un choix.
@Defy:
RewriteEngine On
RewriteRule ^admin$ admin.php [QSA,L]
RewriteCond %{REQUEST_FILENAME} !-f
RewriteRule ^ index.php [QSA,L]
site.com/admin
, alors utiliser la page site.com/admin.php
;index.php
.Dans un router, toutes les demandes sont redirigés vers une page, qui appelle la méthode d'un controlleur. Par exemple, la page site.com/event/list
executera la méthode list
qui est dans la classe Event
, dans le dossier destinés aux controlleurs.
Tu auras besoin d'un .htpasswd
:
.htpasswd
;Dans ton .htaccess
, ajoute:
AuthUserFile chemin/vers/.htpasswd
AuthName "Message"
AuthType Basic
<Files "admin.php">
require valid-user
</Files>
Tout ce que j'ai fais, c'est traduire cet article.
Bon, on vas repartir depuis le debut, je suis absolument pas du tous au gout du jours des htaccess et htpasswd
Concrètement j'ai une architecture comme ceci actuellment
Le .htpasswd ce met a quel niveau? au meme endroit? dans un dossier admin?
tu aurais une architecture type?
je connais bien slim en temps que server API en faite, j'ai devellopé tout une api pour les cours avec slim pour une application mobil et une appli java, mais je ne m'occupé pas d'authentification ou de multi vue, le serveur a dispo etait deja protégé par un system de token mais étant encore debutant en PHP, je travail avec depuis 1ans et demi maitenant, je n'ai pas encore saisie toute les facette de l'objet en php et des tokens et tout le tralala
.htaccess
et .htpasswd
ne sont pas liés à PHP, ils sont liés à Apache.
Le .htpasswd
va ou tu veux, je le metterais à la racine personnellement.
et du coup, j'aurais un index.php avec mes route vue utilisateur et un admin.php ou j'aurai ma partie admin. j'ai bien résumé la chose?
edit: oui ca je sais ^^ je suis pas si a la pêches que ca en htaccess et tous le tralalala ^^
Bon ben ca ne marche pas, je t'avous que je suis un peut perdu la avec tous ca ^^
Bon j'avance a petit pat comme on dirait, j'ai réussi a mettre en place les différentes url et la redirection comme je veut, mais je n'arrive pas a comprendre comment empêcher aux utilisateur d'accéder au groupe d'url "admin"