如何根据用户权限返回资产文件。 意味着我想要根据用户访问级别显示页面。
使用此方法时,当前上下文不可用:
public play.api.mvc.Action<AnyContent> index() {
try {
if (securityService.getCurrentSession(Controller.ctx()) == null) {
return Assets.at("/public", "/main.html", false);
}else
return Assets.at("/public", "/index/index.html", false);
} catch (Exception e) {
return Assets.at("/public", "/index/index.html", false);
}
}
由于此错误:
There is no HTTP Context available from here.
并使用此方法将资产作为下载文件返回:
public Result index() {
try {
if (securityService.getCurrentSession(Controller.ctx()) == null) {
return Results.ok(Play.application().getFile("/public/index/index.html"));
}else
return Results.ok(Play.application().getFile("/public/main.html"));
} catch (Exception e) {
return Results.ok(Play.application().getFile("/public/index/index.html"));
}
}
如何根据用户权限显示索引页?
答案 0 :(得分:2)
而不是ok(java.io.File)
方法,您可以使用ok(java.io.File, boolean),其中第二个参数指定结果为内联或附件。
public Result index() {
try {
if (securityService.getCurrentSession(Controller.ctx()) == null) {
return Results.ok(Play.application().getFile("/public/index/index.html"), true);
} else
return Results.ok(Play.application().getFile("/public/main.html"), true);
} catch (Exception e) {
return Results.ok(Play.application().getFile("/public/index/index.html"), true);
}
}