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
0
A
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"
)
}}}