2010-06-28 8 views
5

in un'applicazione struts, ho un filtro che forza l'accesso a determinate pagine solo tramite https tramite reindirizzamento. Sto pensando di portarlo a sollevare così la mia domanda è: in questo ambiente, c'è un modo "lift" per implementare tale filtro o è simile/lo stesso di puntoni? GrazieSolleva il filtro per forzare ssl

risposta

11

In Lift, SiteMap definisce le regole per l'accesso alla pagina. È possibile creare una voce di Sitemap che fa un reindirizzamento al sito https su alcune pagine:

// 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 

Spero che questo aiuti.