He implementado páginas seguras antes mediante el uso de una carpeta segura específica (por ejemplo, la carpeta https frente a la carpeta http en el servidor). Empecé a usar Zend Framework y me gustaría que partes de la aplicación (por ejemplo, inicio de sesión) utilizaran https. He buscado en google e incluso aquí, pero no he podido encontrar nada que explique cómo manejar esto. ¿Puedo tener https para controladores/acciones específicos? Gracias.Cómo implementar SSL en Zend MVC
Respuesta
La manera más limpia es tener un archivo .ini para la configuración SSL donde se puede habilitar el soporte SSL para los niveles de modelo/controlador/acción, así:
Digamos que usted tiene un módulo/controlador/acción como esto:
SSLModule-> IndexController-> testAction
## ini file (can be config.ini also)
ssl.modules.SSLModule.require_ssl = true //-> entire module requires SSL
ssl.modules.SSLModule.Index.require_ssl = true //-> entire controller requires SSL
ssl.modules.SSLModule.Index.test.require_ssl = true //-> single action requires SSL
se analiza este ya sea a través de configuración, o por separado, y en su archivo de arranque que puede incluir una controllerplugin, como el mío aquí.
Hay muchas otras maneras de hacerlo, ¡pero creo que se entiende la idea!
class Application_Controllerplugins_Ssl extends Zend_Controller_Plugin_Abstract
{
public function preDispatch (Zend_Controller_Request_Abstract $request)
{
$shouldSecureUrl = false;
//get the config settings for SSL
$options = Application_ServiceManager::getConfig()->ssl;
//if config is empty, exit
if (!is_object($options))
return;
//simpler to use
$options = $options->toArray();
//only use it production environment
if (APPLICATION_ENV == 'production')
{
if (
(isset($options['modules'][$request->module]['require_ssl']) && $options['modules'][$request->module]['require_ssl']) ||
(isset($options['modules'][$request->module][$request->controller]['require_ssl']) && $options['modules'][$request->module][$request->controller]['require_ssl']) ||
(isset($options['modules'][$request->module][$request->controller][$request->action]['require_ssl']) && $options['modules'][$request->module][$request->controller][$request->action]['require_ssl'])
)
{
$shouldSecureUrl = true;
}
if ($shouldSecureUrl)
{
$this->_secureUrl($request);
}
}
}
protected function _secureUrl (Zend_Controller_Request_Abstract $request)
{
$server = $request->getServer();
$hostname = $server['HTTP_HOST'];
if (! $request->isSecure())
{
$url = Zend_Controller_Request_Http::SCHEME_HTTPS . "://" . $hostname .
$request->getPathInfo();
$redirector = Zend_Controller_Action_HelperBroker::getStaticHelper('redirector');
$redirector->setGoToUrl($url);
$redirector->redirectAndExit();
}
}
}
me olvidó mencionar: añadirlo en su archivo de arranque:
$Zend_Controller_Front->registerPlugin(new Application_Controllerplugins_Ssl());
Funcionó como un amuleto. Muchas gracias, contribución muy valiosa. – jgnasser
- 1. Cómo implementar una barra lateral en Zend Framework
- 2. cómo implementar MVC en jquery
- 3. Conexión MySql SSL con Zend-Framework
- 4. ¿Cómo podemos implementar SSL en las páginas de Drupal?
- 5. Cómo implementar el patrón MVC en Tkinter
- 6. ASP.NET MVC - HTML.BeginForm y SSL
- 7. Inicio de sesión en MVC (Zend Framework)
- 8. ¿Cómo extiendo Zend View para implementar una función concreta?
- 9. La mejor forma de implementar varios idiomas en Zend Framework
- 10. Perfilado lento Configuración de Zend Framework MVC
- 11. Zend Framework 1.9: Cómo utilizar la carga automática sin MVC
- 12. Cuándo implementar javascript MVC framework
- 13. Dónde implementar funcionalidad común En Asp.net MVC
- 14. Cómo implementar la funcionalidad de búsqueda en C#/ASP.NET MVC
- 15. Cómo implementar la paginación en Spring MVC 3
- 16. ¿Cómo debo implementar "Olvidé mi contraseña" en ASP.NET MVC?
- 17. Cómo implementar funciones de búsqueda en aplicaciones ASP.NET MVC
- 18. ¿Cómo implementar correctamente MVC en Java con Swing?
- 19. Cómo implementar bases de datos de objetos en Asp.net MVC
- 20. Cómo implementar unidad de trabajo en MVC: Responsabilidad
- 21. La mejor forma de implementar la aplicación web Zend
- 22. Error de SSL al implementar Apple Push Notification
- 23. Zend Mail Gmail SMTP
- 24. Cómo implementar áreas en ASP.NET MVC 1.0 para ser más compatible con ASP.NET MVC 2.0
- 25. ¿Requiere SSL en WebApi?
- 26. Cómo implementar Node.js en la nube para alta disponibilidad usando multi-core, proxy inverso y SSL
- 27. Usando tablas de Zend Framework Db sin MVC
- 28. Cómo implementar la característica Salir utilizando Spring Web MVC
- 29. Cómo implementar un proveedor de caché personalizado con ASP.NET MVC
- 30. Cómo implementar el patrón MVC sin mantener Vistas activas
duplicado para [cómo-a-conseguir-sslmod-rewritezend-marco-mvc-trabajo-juntos] (http://stackoverflow.com/questions/380050/how-to-get-sslmod-rewritezend-framework-mvc-working-together) – criticus