組み込みの Jetty 6.1.7 プロジェクト内でフォームベースの認証を使用しようとしています。
そのため、認証を機能させるには、同じコンテキストでサーブレットと html (login.html) を提供する必要があります。異なるコンテキストには異なるロールが必要なため、ホールアプリケーションを保護したくありません。jetty javadoc は、ContextHandlerCollection が 1 つのコンテキストに対して異なるハンドラーを処理できると述べていますが、私はそれを機能させません。認証を無視したサンプルが機能しないのはなぜですか?
ContextHandlerCollection contexts = new ContextHandlerCollection();
// serve html
Context ctxADocs= new Context(contexts,"/ctxA",Context.SESSIONS);
ctxADocs.setResourceBase("d:\\tmp\\ctxA");
ServletHolder ctxADocHolder= new ServletHolder();
ctxADocHolder.setInitParameter("dirAllowed", "false");
ctxADocHolder.setServlet(new DefaultServlet());
ctxADocs.addServlet(ctxADocHolder, "/");
// serve a sample servlet
Context ctxA = new Context(contexts,"/ctxA",Context.SESSIONS);
ctxA.addServlet(new ServletHolder(new SessionDump()), "/sda");
ctxA.addServlet(new ServletHolder(new DefaultServlet()), "/");
contexts.setHandlers(new Handler[]{ctxA, ctxADocs});
// end of snippet
役に立つ考えは大歓迎です!
ありがとう。
大神