2017-11-24 10 views
0

Play 2.6.xの静的コンテンツ(つまりアセット)の上に認証/承認レイヤーを追加する最も簡単な方法は何ですか?Playの静的コンテンツの認証(2)

## auth login page 
GET /index 
## static (single-path shell) served (assuming login attempt was authenticated) 
GET /console controllers.Foo.secureHTML(path="/public/html", file="console.html") 

アンルーティングコントローラメソッドは次のようになります:

は、私たちのようなルーティングされる静的なコンテンツがあるとし

@Inject
民間資産の資産を、

public Result secureHTML(String path, String file) { 
    if(auth()) { 
    return assets.at(path + "/" + file); <--- return This asset (when authenticated) 
    } else { 
    // redirect to Login page... 
    return unauthorized(); 
    } 
} 

注:

1)私たちが提供している資産は
2の.jar展開へ内部だろう)私たちは、Javaを使用しているが、Scalaでは提案された解決策は次のようになります細かすぎる

ありがとうございます。

public class AuthLayer extends Controller { 
    @Inject 
    private Environment environment; 

    private boolean auth() { 
     // do something smart 
     // for now.... 
     return true; 
    } 

    public Result html(String path, String file) { 
     if(auth()) { 
      return ok(environment.getFile(path + "/" + file)); 
     } else { 
      // redirect to Login page... 
      return redirect("/path/to/loginForm"); 
     } 
    } 
} 
:答え探しの方のために

答えて

0

は、ここで我々が思い付くソリューションです
関連する問題