cancel
Showing results for 
Search instead for 
Did you mean: 

renaming folders via WebDAV

mmichalik
Champ in-the-making
Champ in-the-making
Hi everyone,

I've searched for the past two days trying to find a post so I would not have to bug anyone but, I have not found any thing.  So, I have to ask.

I'm attempting to change a folder name in my space under User Homes via a WebDAV client (netdrive).

When ever I make the change, The folder gets renamed, but then when I refresh the folder, it goes back to the original name.

Checking the Catalina.out file, here is the output I recieve:

14:27:20,476 User:admin ERROR [alfresco.webdav.protocol] Internal Server Error:
org.alfresco.repo.security.permissions.AccessDeniedException: Access Denied.  You do not have the appropriate permissions to perform this operation.
   at org.alfresco.repo.security.permissions.impl.ExceptionTranslatorMethodInterceptor.invoke(ExceptionTranslatorMethodInterceptor.java:53)
   at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:176)
   at org.alfresco.repo.audit.AuditComponentImpl.audit(AuditComponentImpl.java:245)
   at org.alfresco.repo.audit.AuditMethodInterceptor.invoke(AuditMethodInterceptor.java:69)
   at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:176)
   at org.springframework.transaction.interceptor.TransactionInterceptor.invoke(TransactionInterceptor.java:107)
   at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:176)
   at org.springframework.aop.framework.JdkDynamicAopProxy.invoke(JdkDynamicAopProxy.java:210)
   at $Proxy46.move(Unknown Source)
   at org.alfresco.repo.webdav.MoveMethod.moveOrCopy(MoveMethod.java:50)
   at org.alfresco.repo.webdav.AbstractMoveOrCopyMethod.executeImpl(AbstractMoveOrCopyMethod.java:142)
   at org.alfresco.repo.webdav.WebDAVMethod$1.execute(WebDAVMethod.java:144)
   at org.alfresco.repo.transaction.RetryingTransactionHelper.doInTransaction(RetryingTransactionHelper.java:242)
   at org.alfresco.repo.transaction.RetryingTransactionHelper.doInTransaction(RetryingTransactionHelper.java:191)
   at org.alfresco.repo.webdav.WebDAVMethod.execute(WebDAVMethod.java:152)
   at org.alfresco.repo.webdav.WebDAVServlet.service(WebDAVServlet.java:136)
   at javax.servlet.http.HttpServlet.service(HttpServlet.java:803)
   at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:269)
   at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:188)
   at org.alfresco.repo.webdav.auth.AuthenticationFilter.doFilter(AuthenticationFilter.java:304)
   at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:215)
   at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:188)
   at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:210)
   at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:174)
   at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:127)
   at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:117)
   at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:108)
   at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:151)
   at org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:870)
   at org.apache.coyote.http11.Http11BaseProtocol$Http11ConnectionHandler.processConnection(Http11BaseProtocol.java:665)
   at org.apache.tomcat.util.net.PoolTcpEndpoint.processSocket(PoolTcpEndpoint.java:528)
   at org.apache.tomcat.util.net.LeaderFollowerWorkerThread.runIt(LeaderFollowerWorkerThread.java:81)
   at org.apache.tomcat.util.threads.ThreadPool$ControlRunnable.run(ThreadPool.java:685)
   at java.lang.Thread.run(Thread.java:619)
Caused by: net.sf.acegisecurity.AccessDeniedException: Access is denied.
   at net.sf.acegisecurity.vote.AffirmativeBased.decide(AffirmativeBased.java:86)
   at net.sf.acegisecurity.intercept.AbstractSecurityInterceptor.beforeInvocation(AbstractSecurityInterceptor.java:394)
   at net.sf.acegisecurity.intercept.method.aopalliance.MethodSecurityInterceptor.invoke(MethodSecurityInterceptor.java:77)
   at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:176)
   at org.alfresco.repo.security.permissions.impl.ExceptionTranslatorMethodInterceptor.invoke(ExceptionTranslatorMethodInterceptor.java:49)
   … 33 more

How do I get around this?  I'm assuming that it's a permissions error but, I have not been able to figure out how to set the permissions appropriately.  I'm a little new to Alfresco administration so any help would be appreciated.

Thanks,

Mike
17 REPLIES 17

mikeh
Star Contributor
Star Contributor
What happens if you use the admin user over WebDAV to perform the rename?

This wiki article may help you understand security: http://wiki.alfresco.com/wiki/Security_and_Authentication

Thanks,
Mike

mmichalik
Champ in-the-making
Champ in-the-making
as the ADMIN user, this is the error I get:

15:23:27,935 User:admin ERROR [node.integrity.IntegrityChecker] Found 1 integrity violations:
Invalid property value:
   Node: workspace://SpacesStore/073c5fd4-97a1-4de4-af43-7209719d6229
   Type: {http://www.alfresco.org/model/content/1.0}folder
   Property: {http://www.alfresco.org/model/content/1.0}name
   Constraint: Value '/User Homes/mmichalik/test32/' matches regular expression: (.*[\"\*\\\>\<\?\/\:\|]+.*)|(.*[\.]?.*[\.]+$)|(.*[ ]+$)
15:23:28,158 User:admin ERROR [alfresco.webdav.protocol] Internal Server Error:
org.alfresco.repo.node.integrity.IntegrityException: Found 1 integrity violations:
Invalid property value:
   Node: workspace://SpacesStore/073c5fd4-97a1-4de4-af43-7209719d6229
   Type: {http://www.alfresco.org/model/content/1.0}folder
   Property: {http://www.alfresco.org/model/content/1.0}name
   Constraint: Value '/User Homes/mmichalik/test32/' matches regular expression: (.*[\"\*\\\>\<\?\/\:\|]+.*)|(.*[\.]?.*[\.]+$)|(.*[ ]+$)
   at org.alfresco.repo.node.integrity.IntegrityChecker.checkIntegrity(IntegrityChecker.java:627)
   at org.alfresco.repo.transaction.AlfrescoTransactionSupport$TransactionSynchronizationImpl.beforeCommit(AlfrescoTransactionSupport.java:616)
   at org.springframework.transaction.support.TransactionSynchronizationUtils.triggerBeforeCommit(TransactionSynchronizationUtils.java:48)
   at org.springframework.transaction.support.AbstractPlatformTransactionManager.triggerBeforeCommit(AbstractPlatformTransactionManager.java:821)
   at org.springframework.transaction.support.AbstractPlatformTransactionManager.processCommit(AbstractPlatformTransactionManager.java:637)
   at org.springframework.transaction.support.AbstractPlatformTransactionManager.commit(AbstractPlatformTransactionManager.java:624)
   at org.springframework.transaction.interceptor.TransactionAspectSupport.commitTransactionAfterReturning(TransactionAspectSupport.java:307)
   at org.alfresco.util.transaction.SpringAwareUserTransaction.commit(SpringAwareUserTransaction.java:431)
   at org.alfresco.repo.transaction.RetryingTransactionHelper.doInTransaction(RetryingTransactionHelper.java:256)
   at org.alfresco.repo.transaction.RetryingTransactionHelper.doInTransaction(RetryingTransactionHelper.java:191)
   at org.alfresco.repo.webdav.WebDAVMethod.execute(WebDAVMethod.java:152)
   at org.alfresco.repo.webdav.WebDAVServlet.service(WebDAVServlet.java:136)
   at javax.servlet.http.HttpServlet.service(HttpServlet.java:803)
   at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:269)
   at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:188)
   at org.alfresco.repo.webdav.auth.AuthenticationFilter.doFilter(AuthenticationFilter.java:304)
   at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:215)
   at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:188)
   at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:210)
   at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:174)
   at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:127)
   at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:117)
   at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:108)
   at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:151)
   at org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:870)
   at org.apache.coyote.http11.Http11BaseProtocol$Http11ConnectionHandler.processConnection(Http11BaseProtocol.java:665)
   at org.apache.tomcat.util.net.PoolTcpEndpoint.processSocket(PoolTcpEndpoint.java:528)
   at org.apache.tomcat.util.net.LeaderFollowerWorkerThread.runIt(LeaderFollowerWorkerThread.java:81)
   at org.apache.tomcat.util.threads.ThreadPool$ControlRunnable.run(ThreadPool.java:685)
   at java.lang.Thread.run(Thread.java:619)

and then when I refresh the folder, It's still named the original folder name, like one would expect it to be.

mmichalik
Champ in-the-making
Champ in-the-making
by the way, thanks for responding so quickly and I will start reading the WIKI now.

mmichalik
Champ in-the-making
Champ in-the-making
CLANG!  (that's the sound of the wiki clanging off of my head)  Smiley Happy

OK, I understand the concept of the security model now.  And, for the most part, the implementation of it.

But, how do make changes in the UI to reflect what I want to do?

I'm alright with, let's say, loging in as Admin via webdav and allowing the admin user (or not the admin user, how ever the case may be) the ability to make the changes needed in the spaces.

I guess what I am asking, bottom line, is how do I make the change so the user can rename the folders created in their own user space.  Is there a wiki that I can find those instructions in?  I'm all for reading how to do it and attempting it as opposed to being told how to do it and not learning anything.

Thanks,

Mike

mmichalik
Champ in-the-making
Champ in-the-making
Hi everyone.

Did I miss something obvious here?  I'm not having any luck figuring this out, even after reading that wiki.

Any help would be appreciated.

Thanks,

Mike

mmichalik
Champ in-the-making
Champ in-the-making
ok, how about this:

Can anyone tell me how I can set up 1 user who can rename folders through a webdav connect without getting the Access Denied error?

When I put an additional name in the admin_users role in the authority-services-context.xml file, I get the same error as the standard admin error, which is listed above.

mmichalik
Champ in-the-making
Champ in-the-making
15:17:29,069 User:mmichalik ERROR [node.integrity.IntegrityChecker] Found 1 integrity violations:
Invalid property value:
   Node: workspace://SpacesStore/073c5fd4-97a1-4de4-af43-7209719d6229
   Type: {http://www.alfresco.org/model/content/1.0}folder
   Property: {http://www.alfresco.org/model/content/1.0}name
   Constraint: Value '/User Homes/mmichalik/test23/' matches regular expression: (.*[\"\*\\\>\<\?\/\:\|]+.*)|(.*[\.]?.*[\.]+$)|(.*[ ]+$)
15:17:29,319 User:mmichalik ERROR [alfresco.webdav.protocol] Internal Server Error:
org.alfresco.repo.node.integrity.IntegrityException: Found 1 integrity violations:
Invalid property value:
   Node: workspace://SpacesStore/073c5fd4-97a1-4de4-af43-7209719d6229
   Type: {http://www.alfresco.org/model/content/1.0}folder
   Property: {http://www.alfresco.org/model/content/1.0}name
   Constraint: Value '/User Homes/mmichalik/test23/' matches regular expression: (.*[\"\*\\\>\<\?\/\:\|]+.*)|(.*[\.]?.*[\.]+$)|(.*[ ]+$)
   at org.alfresco.repo.node.integrity.IntegrityChecker.checkIntegrity(IntegrityChecker.java:627)
   at org.alfresco.repo.transaction.AlfrescoTransactionSupport$TransactionSynchronizationImpl.beforeCommit(AlfrescoTransactionSupport.java:616)
   at org.springframework.transaction.support.TransactionSynchronizationUtils.triggerBeforeCommit(TransactionSynchronizationUtils.java:48)
   at org.springframework.transaction.support.AbstractPlatformTransactionManager.triggerBeforeCommit(AbstractPlatformTransactionManager.java:821)
   at org.springframework.transaction.support.AbstractPlatformTransactionManager.processCommit(AbstractPlatformTransactionManager.java:637)
   at org.springframework.transaction.support.AbstractPlatformTransactionManager.commit(AbstractPlatformTransactionManager.java:624)
   at org.springframework.transaction.interceptor.TransactionAspectSupport.commitTransactionAfterReturning(TransactionAspectSupport.java:307)
   at org.alfresco.util.transaction.SpringAwareUserTransaction.commit(SpringAwareUserTransaction.java:431)
   at org.alfresco.repo.transaction.RetryingTransactionHelper.doInTransaction(RetryingTransactionHelper.java:256)
   at org.alfresco.repo.transaction.RetryingTransactionHelper.doInTransaction(RetryingTransactionHelper.java:191)
   at org.alfresco.repo.webdav.WebDAVMethod.execute(WebDAVMethod.java:152)
   at org.alfresco.repo.webdav.WebDAVServlet.service(WebDAVServlet.java:136)
   at javax.servlet.http.HttpServlet.service(HttpServlet.java:803)
   at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:269)
   at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:188)
   at org.alfresco.repo.webdav.auth.AuthenticationFilter.doFilter(AuthenticationFilter.java:304)
   at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:215)
   at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:188)
   at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:210)
   at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:174)
   at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:127)
   at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:117)
   at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:108)
   at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:151)
   at org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:870)
   at org.apache.coyote.http11.Http11BaseProtocol$Http11ConnectionHandler.processConnection(Http11BaseProtocol.java:665)
   at org.apache.tomcat.util.net.PoolTcpEndpoint.processSocket(PoolTcpEndpoint.java:528)
   at org.apache.tomcat.util.net.LeaderFollowerWorkerThread.runIt(LeaderFollowerWorkerThread.java:81)
   at org.apache.tomcat.util.threads.ThreadPool$ControlRunnable.run(ThreadPool.java:685)
   at java.lang.Thread.run(Thread.java:619)

mmichalik
Champ in-the-making
Champ in-the-making
15:23:10,838 User:mmichalik ERROR [node.integrity.IntegrityChecker] Found 1 integrity violations:
Invalid property value:
   Node: workspace://SpacesStore/073c5fd4-97a1-4de4-af43-7209719d6229
   Type: {http://www.alfresco.org/model/content/1.0}folder
   Property: {http://www.alfresco.org/model/content/1.0}name
   Constraint: Value '/User Homes/mmichalik/Test23/' matches regular expression: (.*[\"\*\\\>\<\?\/\:\|]+.*)|(.*[\.]?.*[\.]+$)|(.*[ ]+$)
15:23:11,006 User:mmichalik ERROR [alfresco.webdav.protocol] Internal Server Error:
org.alfresco.repo.node.integrity.IntegrityException: Found 1 integrity violations:
Invalid property value:
   Node: workspace://SpacesStore/073c5fd4-97a1-4de4-af43-7209719d6229
   Type: {http://www.alfresco.org/model/content/1.0}folder
   Property: {http://www.alfresco.org/model/content/1.0}name
   Constraint: Value '/User Homes/mmichalik/Test23/' matches regular expression: (.*[\"\*\\\>\<\?\/\:\|]+.*)|(.*[\.]?.*[\.]+$)|(.*[ ]+$)
   at org.alfresco.repo.node.integrity.IntegrityChecker.checkIntegrity(IntegrityChecker.java:627)
   at org.alfresco.repo.transaction.AlfrescoTransactionSupport$TransactionSynchronizationImpl.beforeCommit(AlfrescoTransactionSupport.java:616)
   at org.springframework.transaction.support.TransactionSynchronizationUtils.triggerBeforeCommit(TransactionSynchronizationUtils.java:48)
   at org.springframework.transaction.support.AbstractPlatformTransactionManager.triggerBeforeCommit(AbstractPlatformTransactionManager.java:821)
   at org.springframework.transaction.support.AbstractPlatformTransactionManager.processCommit(AbstractPlatformTransactionManager.java:637)
   at org.springframework.transaction.support.AbstractPlatformTransactionManager.commit(AbstractPlatformTransactionManager.java:624)
   at org.springframework.transaction.interceptor.TransactionAspectSupport.commitTransactionAfterReturning(TransactionAspectSupport.java:307)
   at org.alfresco.util.transaction.SpringAwareUserTransaction.commit(SpringAwareUserTransaction.java:431)
   at org.alfresco.repo.transaction.RetryingTransactionHelper.doInTransaction(RetryingTransactionHelper.java:256)
   at org.alfresco.repo.transaction.RetryingTransactionHelper.doInTransaction(RetryingTransactionHelper.java:191)
   at org.alfresco.repo.webdav.WebDAVMethod.execute(WebDAVMethod.java:152)
   at org.alfresco.repo.webdav.WebDAVServlet.service(WebDAVServlet.java:136)
   at javax.servlet.http.HttpServlet.service(HttpServlet.java:803)
   at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:269)
   at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:188)
   at org.alfresco.repo.webdav.auth.AuthenticationFilter.doFilter(AuthenticationFilter.java:304)
   at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:215)
   at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:188)
   at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:210)
   at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:174)
   at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:127)
   at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:117)
   at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:108)
   at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:151)
   at org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:870)
   at org.apache.coyote.http11.Http11BaseProtocol$Http11ConnectionHandler.processConnection(Http11BaseProtocol.java:665)
   at org.apache.tomcat.util.net.PoolTcpEndpoint.processSocket(PoolTcpEndpoint.java:528)
   at org.apache.tomcat.util.net.LeaderFollowerWorkerThread.runIt(LeaderFollowerWorkerThread.java:81)
   at org.apache.tomcat.util.threads.ThreadPool$ControlRunnable.run(ThreadPool.java:685)
   at java.lang.Thread.run(Thread.java:619)

zaizi
Champ in-the-making
Champ in-the-making
What are you trying to do when those exceptions are thrown?

Windows can cache webdav logins. Did you try logging in as admin user first off. Did it work then?

Rob