zabezpieczenie dostępu do web service

0

Zapewne ziarna EJB udostępnione w postaci usługi web service trzeba zabezpieczyć przed nieuprawnionym dostępem jak to zrobić?

Czy @RolesAllowed({""}) określone dla ich metod lub klas, w przypadku dostępu do nich web service client będą powodowały że Glassfish będzie prosił o autoryzację ,

czy uzna autoryzację wcześniej dokonaną z aplikacji klienta ( web service client ) ? Przy jednym serwerze Glassfish ustawienia jdbcRealm były by wspólne, da się to zorganizować ?

0

My na etapie EJB 3.0 robiliśmy to filtrem i Basic ale może teraz robi się to lepiej

0

jakim filtrem ?

0

No tak jak piszesz, łącz WebService z EJB i nakładaj ograniczenia przez RolesAllowed

Pawel412 napisał(a):

Czy @RolesAllowed({""}) określone dla ich metod lub klas, w przypadku dostępu do nich web service client będą powodowały że Glassfish będzie prosił o autoryzację ,

Nie będzie prosił o uwierzytelnienie, po prostu wyrzuci wyjątek jeśli klient nie będzie uwierzytelniony

Pawel412 napisał(a):

czy uzna autoryzację wcześniej dokonaną z aplikacji klienta ( web service client ) ? Przy jednym serwerze Glassfish ustawienia jdbcRealm były by wspólne, da się to zorganizować ?

Tak, uzna.

0

dzięki

0

nie uznaje web service ( ziarna EJB) takiego dostępu przy dostępie do metod zabezpieczonych po zalogowaniu po stronie client, client nie zwraca danych lub nie zapisuje danych co robić ? do niezabezpieczonych działa ok

Zimny Kaczor napisał(a):

No tak jak piszesz, łącz WebService z EJB i nakładaj ograniczenia przez RolesAllowed

Pawel412 napisał(a):

Czy @RolesAllowed({""}) określone dla ich metod lub klas, w przypadku dostępu do nich web service client będą powodowały że Glassfish będzie prosił o autoryzację ,

Nie będzie prosił o uwierzytelnienie, po prostu wyrzuci wyjątek jeśli klient nie będzie uwierzytelniony

Pawel412 napisał(a):

czy uzna autoryzację wcześniej dokonaną z aplikacji klienta ( web service client ) ? Przy jednym serwerze Glassfish ustawienia jdbcRealm były by wspólne, da się to zorganizować ?

Tak, uzna.

0

jak jeszcze raz wygenerowałem web service i web service client bo dodaniu RolesAllowed

wyrzuca błąd po stronie klienta jutro z tym rano idę ?


/modul_klienta.xhtml @48,95 src="#{uzytkownikController.getStronaPaneluUzytkownika()}" Exception attempting to inject Env-Prop: UzytkownikController.UzytkownikController/service@Field-Injectable Resource. Class name = UzytkownikController.UzytkownikController Field [email protected]@@@ into class UzytkownikController.UzytkownikController: Lookup failed for 'java:comp/env/UzytkownikController.UzytkownikController/service' in SerialContext[myEnv={java.naming.factory.initial=com.sun.enterprise.naming.impl.SerialInitContextFactory, java.naming.factory.state=com.sun.corba.ee.impl.presentation.rmi.JNDIStateFactoryImpl, java.naming.factory.url.pkgs=com.sun.enterprise.naming}



javax.faces.view.facelets.TagAttributeException: /modul_klienta.xhtml @48,95 src="#{uzytkownikController.getStronaPaneluUzytkownika()}" Exception attempting to inject Env-Prop: UzytkownikController.UzytkownikController/service@Field-Injectable Resource. Class name = UzytkownikController.UzytkownikController Field [email protected]@@@ into class UzytkownikController.UzytkownikController: Lookup failed for 'java:comp/env/UzytkownikController.UzytkownikController/service' in SerialContext[myEnv={java.naming.factory.initial=com.sun.enterprise.naming.impl.SerialInitContextFactory, java.naming.factory.state=com.sun.corba.ee.impl.presentation.rmi.JNDIStateFactoryImpl, java.naming.factory.url.pkgs=com.sun.enterprise.naming}
	at com.sun.faces.facelets.tag.TagAttributeImpl.getObject(TagAttributeImpl.java:358)
	at com.sun.faces.facelets.tag.TagAttributeImpl.getValue(TagAttributeImpl.java:322)
	at com.sun.faces.facelets.tag.ui.IncludeHandler.apply(IncludeHandler.java:112)
	at javax.faces.view.facelets.DelegatingMetaTagHandler.applyNextHandler(DelegatingMetaTagHandler.java:137)
	at com.sun.faces.facelets.tag.jsf.ComponentTagHandlerDelegateImpl.apply(ComponentTagHandlerDelegateImpl.java:203)
	at javax.faces.view.facelets.DelegatingMetaTagHandler.apply(DelegatingMetaTagHandler.java:120)
	at javax.faces.view.facelets.DelegatingMetaTagHandler.applyNextHandler(DelegatingMetaTagHandler.java:137)
	at com.sun.faces.facelets.tag.jsf.ComponentTagHandlerDelegateImpl.apply(ComponentTagHandlerDelegateImpl.java:203)
	at javax.faces.view.facelets.DelegatingMetaTagHandler.apply(DelegatingMetaTagHandler.java:120)
	at javax.faces.view.facelets.CompositeFaceletHandler.apply(CompositeFaceletHandler.java:95)
	at javax.faces.view.facelets.DelegatingMetaTagHandler.applyNextHandler(DelegatingMetaTagHandler.java:137)
	at com.sun.faces.facelets.tag.jsf.ComponentTagHandlerDelegateImpl.apply(ComponentTagHandlerDelegateImpl.java:203)
	at javax.faces.view.facelets.DelegatingMetaTagHandler.apply(DelegatingMetaTagHandler.java:120)
	at javax.faces.view.facelets.DelegatingMetaTagHandler.applyNextHandler(DelegatingMetaTagHandler.java:137)
	at com.sun.faces.facelets.tag.jsf.ComponentTagHandlerDelegateImpl.apply(ComponentTagHandlerDelegateImpl.java:203)
	at javax.faces.view.facelets.DelegatingMetaTagHandler.apply(DelegatingMetaTagHandler.java:120)
	at javax.faces.view.facelets.CompositeFaceletHandler.apply(CompositeFaceletHandler.java:95)
	at com.sun.faces.facelets.tag.jsf.core.ViewHandler.apply(ViewHandler.java:225)
	at javax.faces.view.facelets.CompositeFaceletHandler.apply(CompositeFaceletHandler.java:95)
	at com.sun.faces.facelets.compiler.NamespaceHandler.apply(NamespaceHandler.java:93)
	at com.sun.faces.facelets.compiler.EncodingHandler.apply(EncodingHandler.java:87)
	at com.sun.faces.facelets.impl.DefaultFacelet.apply(DefaultFacelet.java:161)
	at com.sun.faces.application.view.FaceletViewHandlingStrategy.buildView(FaceletViewHandlingStrategy.java:990)
	at com.sun.faces.lifecycle.RenderResponsePhase.execute(RenderResponsePhase.java:99)
	at com.sun.faces.lifecycle.Phase.doPhase(Phase.java:101)
	at com.sun.faces.lifecycle.LifecycleImpl.render(LifecycleImpl.java:219)
	at javax.faces.webapp.FacesServlet.service(FacesServlet.java:647)
	at org.apache.catalina.core.StandardWrapper.service(StandardWrapper.java:1682)
	at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:318)
	at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:160)
	at org.apache.catalina.core.StandardPipeline.doInvoke(StandardPipeline.java:734)
	at org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:673)
	at com.sun.enterprise.web.WebPipeline.invoke(WebPipeline.java:99)
	at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:174)
	at org.apache.catalina.connector.CoyoteAdapter.doService(CoyoteAdapter.java:415)
	at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:282)
	at com.sun.enterprise.v3.services.impl.ContainerMapper$HttpHandlerCallable.call(ContainerMapper.java:459)
	at com.sun.enterprise.v3.services.impl.ContainerMapper.service(ContainerMapper.java:167)
	at org.glassfish.grizzly.http.server.HttpHandler.runService(HttpHandler.java:201)
	at org.glassfish.grizzly.http.server.HttpHandler.doHandle(HttpHandler.java:175)
	at org.glassfish.grizzly.http.server.HttpServerFilter.handleRead(HttpServerFilter.java:235)
	at org.glassfish.grizzly.filterchain.ExecutorResolver$9.execute(ExecutorResolver.java:119)
	at org.glassfish.grizzly.filterchain.DefaultFilterChain.executeFilter(DefaultFilterChain.java:284)
	at org.glassfish.grizzly.filterchain.DefaultFilterChain.executeChainPart(DefaultFilterChain.java:201)
	at org.glassfish.grizzly.filterchain.DefaultFilterChain.execute(DefaultFilterChain.java:133)
	at org.glassfish.grizzly.filterchain.DefaultFilterChain.process(DefaultFilterChain.java:112)
	at org.glassfish.grizzly.ProcessorExecutor.execute(ProcessorExecutor.java:77)
	at org.glassfish.grizzly.nio.transport.TCPNIOTransport.fireIOEvent(TCPNIOTransport.java:561)
	at org.glassfish.grizzly.strategies.AbstractIOStrategy.fireIOEvent(AbstractIOStrategy.java:112)
	at org.glassfish.grizzly.strategies.WorkerThreadIOStrategy.run0(WorkerThreadIOStrategy.java:117)
	at org.glassfish.grizzly.strategies.WorkerThreadIOStrategy.access$100(WorkerThreadIOStrategy.java:56)
	at org.glassfish.grizzly.strategies.WorkerThreadIOStrategy$WorkerThreadRunnable.run(WorkerThreadIOStrategy.java:137)
	at org.glassfish.grizzly.threadpool.AbstractThreadPool$Worker.doWork(AbstractThreadPool.java:565)
	at org.glassfish.grizzly.threadpool.AbstractThreadPool$Worker.run(AbstractThreadPool.java:545)
	at java.lang.Thread.run(Thread.java:745)
Caused by: java.lang.IllegalStateException: Exception attempting to inject Env-Prop: UzytkownikController.UzytkownikController/service@Field-Injectable Resource. Class name = UzytkownikController.UzytkownikController Field [email protected]@@@ into class UzytkownikController.UzytkownikController: Lookup failed for 'java:comp/env/UzytkownikController.UzytkownikController/service' in SerialContext[myEnv={java.naming.factory.initial=com.sun.enterprise.naming.impl.SerialInitContextFactory, java.naming.factory.state=com.sun.corba.ee.impl.presentation.rmi.JNDIStateFactoryImpl, java.naming.factory.url.pkgs=com.sun.enterprise.naming}
	at org.glassfish.weld.services.InjectionServicesImpl.aroundInject(InjectionServicesImpl.java:175)
	at org.jboss.weld.injection.InjectionContextImpl.run(InjectionContextImpl.java:46)
	at org.jboss.weld.injection.producer.ResourceInjector.inject(ResourceInjector.java:65)
	at org.jboss.weld.injection.producer.BasicInjectionTarget.inject(BasicInjectionTarget.java:109)
	at org.jboss.weld.bean.ManagedBean.create(ManagedBean.java:150)
	at org.jboss.weld.util.bean.IsolatedForwardingBean.create(IsolatedForwardingBean.java:44)
	at org.jboss.weld.context.AbstractContext.get(AbstractContext.java:96)
	at org.jboss.weld.context.PassivatingContextWrapper$AbstractPassivatingContextWrapper.get(PassivatingContextWrapper.java:76)
	at org.jboss.weld.manager.BeanManagerImpl.getReference(BeanManagerImpl.java:740)
	at org.jboss.weld.el.AbstractWeldELResolver.lookup(AbstractWeldELResolver.java:107)
	at org.jboss.weld.el.AbstractWeldELResolver.getValue(AbstractWeldELResolver.java:90)
	at javax.el.CompositeELResolver.getValue(CompositeELResolver.java:188)
	at com.sun.faces.el.DemuxCompositeELResolver._getValue(DemuxCompositeELResolver.java:176)
	at com.sun.faces.el.DemuxCompositeELResolver.getValue(DemuxCompositeELResolver.java:203)
	at com.sun.el.parser.AstIdentifier.getValue(AstIdentifier.java:116)
	at com.sun.el.parser.AstValue.getBase(AstValue.java:151)
	at com.sun.el.parser.AstValue.getValue(AstValue.java:200)
	at com.sun.el.ValueExpressionImpl.getValue(ValueExpressionImpl.java:226)
	at org.jboss.weld.el.WeldValueExpression.getValue(WeldValueExpression.java:50)
	at com.sun.faces.facelets.el.TagValueExpression.getValue(TagValueExpression.java:109)
	at com.sun.faces.facelets.tag.TagAttributeImpl.getObject(TagAttributeImpl.java:356)
	... 54 more
Caused by: com.sun.enterprise.container.common.spi.util.InjectionException: Exception attempting to inject Env-Prop: UzytkownikController.UzytkownikController/service@Field-Injectable Resource. Class name = UzytkownikController.UzytkownikController Field [email protected]@@@ into class UzytkownikController.UzytkownikController: Lookup failed for 'java:comp/env/UzytkownikController.UzytkownikController/service' in SerialContext[myEnv={java.naming.factory.initial=com.sun.enterprise.naming.impl.SerialInitContextFactory, java.naming.factory.state=com.sun.corba.ee.impl.presentation.rmi.JNDIStateFactoryImpl, java.naming.factory.url.pkgs=com.sun.enterprise.naming}
	at com.sun.enterprise.container.common.impl.util.InjectionManagerImpl._inject(InjectionManagerImpl.java:740)
	at com.sun.enterprise.container.common.impl.util.InjectionManagerImpl.inject(InjectionManagerImpl.java:507)
	at com.sun.enterprise.container.common.impl.util.InjectionManagerImpl.injectInstance(InjectionManagerImpl.java:170)
	at org.glassfish.weld.services.InjectionServicesImpl.aroundInject(InjectionServicesImpl.java:165)
	... 74 more
Caused by: javax.naming.NamingException: Lookup failed for 'java:comp/env/UzytkownikController.UzytkownikController/service' in SerialContext[myEnv={java.naming.factory.initial=com.sun.enterprise.naming.impl.SerialInitContextFactory, java.naming.factory.state=com.sun.corba.ee.impl.presentation.rmi.JNDIStateFactoryImpl, java.naming.factory.url.pkgs=com.sun.enterprise.naming} [Root exception is javax.naming.NamingException [Root exception is java.lang.reflect.InvocationTargetException]]
	at com.sun.enterprise.naming.impl.SerialContext.lookup(SerialContext.java:491)
	at com.sun.enterprise.naming.impl.SerialContext.lookup(SerialContext.java:438)
	at javax.naming.InitialContext.lookup(InitialContext.java:417)
	at javax.naming.InitialContext.lookup(InitialContext.java:417)
	at com.sun.enterprise.container.common.impl.util.InjectionManagerImpl._inject(InjectionManagerImpl.java:636)
	... 77 more
Caused by: javax.naming.NamingException [Root exception is java.lang.reflect.InvocationTargetException]
	at org.glassfish.webservices.WebServiceReferenceManagerImpl.resolveWSReference(WebServiceReferenceManagerImpl.java:271)
	at com.sun.enterprise.container.common.impl.ComponentEnvManagerImpl$WebServiceRefProxy.create(ComponentEnvManagerImpl.java:954)
	at com.sun.enterprise.naming.impl.GlassfishNamingManagerImpl.lookup(GlassfishNamingManagerImpl.java:745)
	at com.sun.enterprise.naming.impl.GlassfishNamingManagerImpl.lookup(GlassfishNamingManagerImpl.java:715)
	at com.sun.enterprise.naming.impl.JavaURLContext.lookup(JavaURLContext.java:159)
	at com.sun.enterprise.naming.impl.SerialContext.lookup(SerialContext.java:471)
	... 81 more
Caused by: java.lang.reflect.InvocationTargetException
	at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method)
	at sun.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:62)
	at sun.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:45)
	at java.lang.reflect.Constructor.newInstance(Constructor.java:422)
	at org.glassfish.webservices.WebServiceReferenceManagerImpl.initiateInstance(WebServiceReferenceManagerImpl.java:319)
	at org.glassfish.webservices.WebServiceReferenceManagerImpl.resolveWSReference(WebServiceReferenceManagerImpl.java:142)
	... 86 more
Caused by: javax.xml.ws.WebServiceException: Failed to access the WSDL at: file:/home/oracle/NetBeansProjects/AukcjeWebServiceClient/target/AukcjeWebAp-1.0-SNAPSHOT/WEB-INF/wsdl/localhost_8080/AukcjeWebAp/UzytkownikObslugaWebService.wsdl. It failed with: 
	/home/oracle/NetBeansProjects/AukcjeWebServiceClient/target/AukcjeWebAp-1.0-SNAPSHOT/WEB-INF/wsdl/localhost_8080/AukcjeWebAp/UzytkownikObslugaWebService.wsdl (Nie ma takiego pliku ani katalogu).
	at com.sun.xml.ws.wsdl.parser.RuntimeWSDLParser.tryWithMex(RuntimeWSDLParser.java:265)
	at com.sun.xml.ws.wsdl.parser.RuntimeWSDLParser.parse(RuntimeWSDLParser.java:246)
	at com.sun.xml.ws.wsdl.parser.RuntimeWSDLParser.parse(RuntimeWSDLParser.java:209)
	at com.sun.xml.ws.wsdl.parser.RuntimeWSDLParser.parse(RuntimeWSDLParser.java:178)
	at com.sun.xml.ws.client.WSServiceDelegate.parseWSDL(WSServiceDelegate.java:363)
	at com.sun.xml.ws.client.WSServiceDelegate.<init>(WSServiceDelegate.java:321)
	at com.sun.xml.ws.client.WSServiceDelegate.<init>(WSServiceDelegate.java:230)
	at com.sun.xml.ws.client.WSServiceDelegate.<init>(WSServiceDelegate.java:211)
	at com.sun.xml.ws.client.WSServiceDelegate.<init>(WSServiceDelegate.java:207)
	at com.sun.xml.ws.spi.ProviderImpl.createServiceDelegate(ProviderImpl.java:114)
	at javax.xml.ws.Service.<init>(Service.java:92)
	at uzytkownikwebservice.UzytkownikObslugaWebService_Service.<init>(UzytkownikObslugaWebService_Service.java:58)
	... 92 more
Caused by: java.io.FileNotFoundException: /home/oracle/NetBeansProjects/AukcjeWebServiceClient/target/AukcjeWebAp-1.0-SNAPSHOT/WEB-INF/wsdl/localhost_8080/AukcjeWebAp/UzytkownikObslugaWebService.wsdl (Nie ma takiego pliku ani katalogu)
	at java.io.FileInputStream.open0(Native Method)
	at java.io.FileInputStream.open(FileInputStream.java:195)
	at java.io.FileInputStream.<init>(FileInputStream.java:138)
	at java.io.FileInputStream.<init>(FileInputStream.java:93)
	at sun.net.www.protocol.file.FileURLConnection.connect(FileURLConnection.java:90)
	at sun.net.www.protocol.file.FileURLConnection.getInputStream(FileURLConnection.java:188)
	at java.net.URL.openStream(URL.java:1038)
	at com.sun.xml.ws.wsdl.parser.RuntimeWSDLParser.createReader(RuntimeWSDLParser.java:999)
	at com.sun.xml.ws.wsdl.parser.RuntimeWSDLParser.resolveWSDL(RuntimeWSDLParser.java:400)
	at com.sun.xml.ws.wsdl.parser.RuntimeWSDLParser.parse(RuntimeWSDLParser.java:231)
	... 102 more

1 użytkowników online, w tym zalogowanych: 0, gości: 1