2015-09-01 4 views
0

Mon exigence de base est que je veux sécuriser l'URL de mon application Play. Lorsque l'utilisateur clique sur l'url, il y a un popup affiché ou une authentification basique, pour accéder à la page de connexion de l'application comme dans tomcat. Dans Tomcat, nous pouvons facilement utiliser l'authentification de base. Mais le jeu utilise netty serveur, comment nous faisons dans netty?Play-Framework 2.3.x: Comment sécuriser l'application play-framework URL

Répondre

0

Dans le jeu-cadre, si nous voulons sécuriser notre URL avec l'authentification du navigateur de base, nous devons gérer cela par programme comme ci-dessous:

object Application extends Controller { 

private final val logger: Logger = LoggerFactory.getLogger("Application") 

val config: Configuration = Play.application().configuration(); 

def index = Action { implicit request => 
logger.info("Serving index page...") 

val authorization = request.headers.get("Authorization"); 
if(!authorization.isEmpty) { 
    val cridentials = new String(Base64.getDecoder.decode(request.headers.get("Authorization").get.substring(5).trim())); 
    val arr = cridentials.split("\\:"); 
    if(!arr.isEmpty && arr.apply(0).equalsIgnoreCase(config.getString("username")) && arr.apply(1).equalsIgnoreCase(config.getString("password"))){ 
    Ok(views.html.index()); 
    }else { 
    Unauthorized("Protected Security").withHeaders(
     "WWW-Authenticate" -> "Basic realm=Protected Security" 
    ) 
    } 
}else{ 
    Unauthorized("Protected Security").withHeaders(
    "WWW-Authenticate" -> "Basic realm=Protected Security" 
    ) 
}}}