2010-06-28 9 views
5

en una aplicación de puntales, tengo un filtro que obliga a acceder a ciertas páginas solo a través de https a través de la redirección. Estoy pensando en portarlo para levantarlo, así que mi pregunta es: ¿en este entorno, hay una forma de "levantar" implementar dicho filtro o es similar/igual que en los puntales? GraciasFiltro de elevación para forzar ssl

Respuesta

11

En Lift, el SiteMap define las reglas para el acceso a la página. Se puede crear una entrada de sitemap que hace una redirección al sitio https en ciertas páginas:

// create an object that does a redirect to the https server if the 
// request is on http 
object RequireSSL extends Loc.EarlyResponse(
() => { 
    for { 
     r <- S.request 
     lowLevelReq <- Box !! r if lowLevelReq.scheme == "http" 
    } { 
     S.redirectTo("https://"+lowLevelReq.serverName+lowLevelReq.contextPath) 
    } 
    Empty 
    }) 

// Build SiteMap 
def entries = (Menu("Home")/"index") :: 
(Menu("Secure")/"secure" >> RequireSSL) :: 
Nil 

Espero que esto ayude.