password page htpasswd htaccess configurar authtype and apache .htaccess basic-authentication

apache - page - authtype htaccess



Usar la autenticación básica(htaccess) para restringir el acceso a una URL específica (3)

Puede proteger todo el directorio colocando un .htaccess separado en ese directorio. Este tutorial lo explica mejor de lo que pude:

http://www.addedbytes.com/lab/password-protect-a-directory-with-htaccess/

Necesito restringir el acceso a una URL en particular, por ejemplo, http://mydomain.com/this/is/the/url en mi servidor web utilizando la Autenticación básica a través de Apache. Cualquier otra URL debe ser abiertamente accesible. He visto que puedes agregar reglas específicas a los archivos usando:

<Files "mypage.html"> Require valid-user </Files>

Mi problema es que todas las solicitudes se enrutan a los controladores que usan mod-rewrite, por lo que no creo que pueda restringir el acceso en función del archivo. ¡Cualquier idea sería de lo más útil!


No estoy seguro de si esto funcionaría / ayudaría, pero podría especificar algo en su aplicación web.xml.

<security-constraint> <display-name>Public access</display-name> <web-resource-collection> <web-resource-name>PublicPages</web-resource-name> <description>Public</description> <url-pattern>/servlet/*</url-pattern> </web-resource-collection> <user-data-constraint> <transport-guarantee>NONE</transport-guarantee> </user-data-constraint> </security-constraint> <security-constraint> <display-name>Secured access</display-name> <web-resource-collection> <web-resource-name>SecuredPages</web-resource-name> <description>Secured pages</description> <url-pattern>/services/*</url-pattern> </web-resource-collection> <auth-constraint> <description>General Access</description> <role-name>*</role-name> </auth-constraint> <user-data-constraint> <description>SSL not required</description> <transport-guarantee>NONE</transport-guarantee> </user-data-constraint> </security-constraint> <login-config> <auth-method>BASIC</auth-method> <realm-name>SecurePages</realm-name> </login-config> <security-role> <description>General Access</description> <role-name>*</role-name> </security-role>


En el archivo .htacess debes poner:

AuthType Basic AuthName "Need to login" AuthUserFile .htpasswd file location ; Require user USER //AuthName is login prompt message //AuthUserFile is physical .htpasswd file location i.e. C:/xampp/htdocs/basic/.htpasswd //Require user is for a specific user i.e. the username you want to authenticate

Para generar el archivo .htpasswd, puede usar: - http://www.htaccesstools.com/htpasswd-generator/