Permissions Error

Need help? Post your questions here.

Moderator: moderators

Permissions Error

Postby mornindew » Wed Oct 29, 2008 5:33 am

Hi all,

I am still learning the code base but I really like what I have seen so far. This is really cool stuff. I am attempting to modify the playlistController to dynamically determine the playlist based on some criteria. I built a loop in the handleRequestInternal method that would iterate through a stringArray and add files to the playlist:

for (int i=0;i<strArray.length;i++){
MusicFile musicFile = new MusicFile(new File(location));
playlist.addFile(musicFile);
}

For some reason I am getting a permissions error (below) saying that access is denied. This doesn't make any sense because I have granted 777 access to all users and I still get the error. Does anyone have any idea why it might be doing this. Thank you in advance. Craig


Exception java.lang.SecurityException
Message Access denied to file /home/craig/Music/2007-08-11/sci2007-08-11.Schoeps_d1t02_vbr.mp3
Java version Sun Microsystems Inc. 1.6.0_07
Operating system Linux 2.6.24-19-generic
Server Apache Tomcat/6.0.14
Memory Used 71 of 109 MB
Stack trace java.lang.SecurityException: Access denied to file /home/craig/Music/2007-08-11/sci2007-08-11.Schoeps_d1t02_vbr.mp3 at net.sourceforge.subsonic.service.MusicFileService.getMusicFile(MusicFileService.java:51) at net.sourceforge.subsonic.domain.MusicFile.createMusicFile(MusicFile.java:290) at net.sourceforge.subsonic.domain.MusicFile.getChildren(MusicFile.java:220) at net.sourceforge.subsonic.domain.MusicFile.accept(MusicFile.java:280) at net.sourceforge.subsonic.domain.MusicFile.getDescendants(MusicFile.java:263) at net.sourceforge.subsonic.domain.Playlist.addFile(Playlist.java:161) at net.sourceforge.subsonic.domain.Playlist.addFile(Playlist.java:173) at net.sourceforge.subsonic.controller.PlaylistController.handleRequestInternal(PlaylistController.java:49) at org.springframework.web.servlet.mvc.AbstractController.handleRequest(AbstractController.java:153) at org.springframework.web.servlet.mvc.SimpleControllerHandlerAdapter.handle(SimpleControllerHandlerAdapter.java:48) at org.springframework.web.servlet.DispatcherServlet.doDispatch(DispatcherServlet.java:874) at org.springframework.web.servlet.DispatcherServlet.doService(DispatcherServlet.java:808) at org.springframework.web.servlet.FrameworkServlet.processRequest(FrameworkServlet.java:476) at org.springframework.web.servlet.FrameworkServlet.doGet(FrameworkServlet.java:431) at javax.servlet.http.HttpServlet.service(HttpServlet.java:690) at javax.servlet.http.HttpServlet.service(HttpServlet.java:803) at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:290) at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206) at org.acegisecurity.util.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:265) at org.acegisecurity.intercept.web.FilterSecurityInterceptor.invoke(FilterSecurityInterceptor.java:107) at org.acegisecurity.intercept.web.FilterSecurityInterceptor.doFilter(FilterSecurityInterceptor.java:72) at org.acegisecurity.util.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:275) at org.acegisecurity.ui.ExceptionTranslationFilter.doFilter(ExceptionTranslationFilter.java:166) at org.acegisecurity.util.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:275) at org.acegisecurity.providers.anonymous.AnonymousProcessingFilter.doFilter(AnonymousProcessingFilter.java:125) at org.acegisecurity.util.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:275) at org.acegisecurity.ui.rememberme.RememberMeProcessingFilter.doFilter(RememberMeProcessingFilter.java:142) at org.acegisecurity.util.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:275) at org.acegisecurity.wrapper.SecurityContextHolderAwareRequestFilter.doFilter(SecurityContextHolderAwareRequestFilter.java:81) at org.acegisecurity.util.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:275) at org.acegisecurity.ui.basicauth.BasicProcessingFilter.doFilter(BasicProcessingFilter.java:173) at org.acegisecurity.util.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:275) at org.acegisecurity.ui.AbstractProcessingFilter.doFilter(AbstractProcessingFilter.java:271) at org.acegisecurity.util.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:275) at org.acegisecurity.ui.logout.LogoutFilter.doFilter(LogoutFilter.java:110) at org.acegisecurity.util.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:275) at org.acegisecurity.context.HttpSessionContextIntegrationFilter.doFilter(HttpSessionContextIntegrationFilter.java:249) at org.acegisecurity.util.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:275) at org.acegisecurity.util.FilterChainProxy.doFilter(FilterChainProxy.java:149) at org.acegisecurity.util.FilterToBeanProxy.doFilter(FilterToBeanProxy.java:98) at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:235) at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206) at net.sourceforge.subsonic.filter.RequestEncodingFilter.doFilter(RequestEncodingFilter.java:25) at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:235) at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206) at net.sourceforge.subsonic.filter.ParameterDecodingFilter.doFilter(ParameterDecodingFilter.java:36) at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:235) at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206) at net.sourceforge.subsonic.filter.BootstrapVerificationFilter.doFilter(BootstrapVerificationFilter.java:36) at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:235) at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206) at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:233) at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:175) at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:128) at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:102) at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:109) at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:263) at org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:844) at org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.process(Http11Protocol.java:584) at org.apache.tomcat.util.net.JIoEndpoint$Worker.run(JIoEndpoint.java:447) at java.lang.Thread.run(Thread.java:619)
mornindew
 
Posts: 7
Joined: Mon Oct 27, 2008 4:47 pm

Postby sindre_mehus » Wed Oct 29, 2008 8:32 am

This is because you're trying to read a file which is outside any of the defined music folders.

See MusicFileService.java:51 (as mentioned in the stack trace).

Regards,
Sindre
User avatar
sindre_mehus
 
Posts: 1955
Joined: Tue Nov 29, 2005 6:19 pm
Location: Oslo, Norway

Postby mornindew » Sat Nov 01, 2008 6:53 am

Sindre,
That was it. Thank you very much. Craig
mornindew
 
Posts: 7
Joined: Mon Oct 27, 2008 4:47 pm


Return to Help

Who is online

Users browsing this forum: No registered users and 15 guests