タグ付けされた質問 「jersey-2.0」

2
JAX-RSおよびJerseyを使用したRESTトークンベースの認証のベストプラクティス
ジャージーでトークンベースの認証を有効にする方法を探しています。特定のフレームワークを使用しないようにしています。それは可能ですか? 私の計画は、ユーザーがWebサービスにサインアップし、Webサービスがトークンを生成してクライアントに送信し、クライアントがそれを保持することです。次に、クライアントは、要求ごとに、ユーザー名とパスワードの代わりにトークンを送信します。 リクエストごとにカスタムフィルターを使用する@PreAuthorize("hasRole('ROLE')") ことを考えていましたが、これにより、データベースへの多くのリクエストにより、トークンが有効であるかどうかが確認されると思いました。 または、フィルターを作成せず、各リクエストにparamトークンを入れますか?そのため、各APIはまずトークンをチェックし、その後、リソースを取得するために何かを実行します。

7
JerseyがInjectionManagerFactoryの動作を停止しましたが見つかりません
Tomcat 8.5.11でJersey APIを実行しているときに以下のエラーが発生し、APIが停止します。 HTTPステータス500-サーブレットJersey RESTサービスのServlet.init()が例外をスローしました タイプ例外レポート サーブレットJersey RESTサービスのメッセージServlet.init()が例外をスローしました 説明サーバーで内部エラーが発生したため、サーバーはこの要求を実行できませんでした。 例外 javax.servlet.ServletException:サーブレットJersey RESTサービスのServlet.init()が例外org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:474)org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve。 java:79)org.apache.catalina.valves.AbstractAccessLogValve.invoke(AbstractAccessLogValve.java:624)org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:349)org.apache.coyote.http11.Http11Processor。 service(Http11Processor.java:783)org.apache.coyote.AbstractProcessorLight.process(AbstractProcessorLight.java:66)org.apache.coyote.AbstractProtocol $ ConnectionHandler.process(AbstractProtocol.java:798)org.apache.tomcat.util。 net.NioEndpoint $ SocketProcessor.doRun(NioEndpoint.java:1434)org.apache.tomcat.util.net.SocketProcessorBase。run(SocketProcessorBase.java:49)java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142)java.util.concurrent.ThreadPoolExecutor $ Worker.run(ThreadPoolExecutor.java:617)org.apache.tomcat.util。 threads.TaskThread $ WrappingRunnable.run(TaskThread.java:61)java.lang.Thread.run(Thread.java:745) 根本的な原因 java.lang.IllegalStateException:InjectionManagerFactoryが見つかりません。org.glassfish.jersey.internal.inject.Injections.lookupInjectionManagerFactory(Injections.java:97)org.glassfish.jersey.internal.inject.Injections.createInjectionManager(Injections.java:89)org.glassfish.jersey.server.ApplicationHandler。 (ApplicationHandler.java:282)org.glassfish.jersey.servlet.WebComponent。(WebComponent.java:335)org.glassfish.jersey.servlet.ServletContainer.init(ServletContainer.java:178)org.glassfish.jersey.servlet。 ServletContainer.init(ServletContainer.java:370)javax.servlet.GenericServlet.init(GenericServlet.java:158)org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:474)org.apache.catalina.valves。 ErrorReportValve.invoke(ErrorReportValve.java:79)org.apache.catalina.valves。 アプリケーションは、gradleを使用して次の依存関係でビルドされます。 dependencies { compile ( // REST "org.glassfish.jersey.containers:jersey-container-servlet:2.+", "javax.servlet:javax.servlet-api:4.+", // REST Token "org.bitbucket.b_c:jose4j:0.+", // MongoDB "org.hibernate.ogm:hibernate-ogm-bom:5.+", "org.hibernate.ogm:hibernate-ogm-infinispan:5.+", "org.hibernate.javax.persistence:hibernate-jpa-2.1-api:1.+", "org.jboss.spec.javax.transaction:jboss-transaction-api_1.2_spec:1.+", "org.jboss.narayana.jta:narayana-jta:5.+", "org.jboss:jboss-transaction-spi:7.+", …

8
Jersey 2.0での依存性注入
以前のJersey 1.xの知識がない状態でゼロから始めて、私はJersey 2.0プロジェクトで依存関係注入をセットアップする方法を理解するのに苦労しています。 また、HK2がJersey 2.0で利用可能であることも理解していますが、Jersey 2.0の統合に役立つドキュメントを見つけることができないようです。 @ManagedBean @Path("myresource") public class MyResource { @Inject MyService myService; /** * Method handling HTTP GET requests. The returned object will be sent * to the client as "text/plain" media type. * * @return String that will be returned as a text/plain response. */ @GET …

17
java.lang.ClassNotFoundException:com.sun.jersey.spi.container.servlet.ServletContainer
Jersey + Googleアプリエンジンを使用して、2日間簡単なHelloWorldアプリケーションを構築しようとしています。単純なAppEngineプロジェクトの場合、これらのチュートリアルに従い、どちらも問題なく動作します https://developers.google.com/appengine/docs/java/gettingstarted/creating https://developers.google.com/appengine/docs/java/webtoolsplatform しかし今、私はジャージーを追加しようとしており、このチュートリアルhttp://www.vogella.com/articles/REST/article.htmlに従っています。 しかし、サーバーは私に与え続けます java.lang.ClassNotFoundException:com.sun.jersey.spi.container.servlet.ServletContainer これらの行をweb.xmlに追加すると: <?xml version="1.0" encoding="UTF-8"?> <web-app xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns="http://java.sun.com/xml/ns/javaee" xmlns:web="http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd" xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd" id="WebApp_ID" version="2.5"> <display-name>TestServer</display-name> <servlet> <servlet-name>Jersey REST Service</servlet-name> <servlet-class>com.sun.jersey.spi.container.servlet.ServletContainer</servlet-class> <init-param> <param-name>com.sun.jersey.config.property.packages</param-name> <param-value>com.test.myproject</param-value> </init-param> <load-on-startup>1</load-on-startup> </servlet> <servlet-mapping> <servlet-name>Jersey REST Service</servlet-name> <url-pattern>/rest/*</url-pattern> </servlet-mapping> </web-app> ここJAX-RS 2.1 RI bundleからJerseyをダウンロードし、チュートリアルの説明に従って、すべてのjarファイルをフォルダーに追加しました。そして、2日後でも何も機能していません。私はGoogleで何度か検索しましたが、Mavenを使用している人はどうやらそれを解決したようですが、私はMavenを使用しておらず、そのチュートリアルを書いた人もそうしませんでした。WEB-INF/lib com.sun.jersey.spi.container.servlet.ServletContainerインポートされたものJersey jarsにさえ存在する かどうかを確認するために、この完全修飾名をJavaで記述し、インテリセンスに名前を補完させようとしましたが、その後インテリセンスを取得できなかったcom.sun.jeため、最新のジャージービルドでパッケージの再配置が行われたと推測されます。の中にjerseyはありませんcom.sun。私は疲れ果てており、どんな種類の助けもいただければ幸いです。
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.