Locking/Privileges without webDav authentication

classic Classic list List threaded Threaded
16 messages Options
Reply | Threaded
Open this post in threaded view
|

Locking/Privileges without webDav authentication

hypspecter
I have successfully implemented CAC authentication using SSL with JBoss 7.1.  However, now that authentication is being handled by the server, I have no user for use with locking and privileges.  It states that the Resource is locked with a null user and will be ignored.  How do I tell milton what user is being used for the purpose of locking and setting privileges on the file opened in Word.
Reply | Threaded
Open this post in threaded view
|

Re: Locking/Privileges without webDav authentication

bradmacnz

Are you able to determine the current user from java? If so you should
just implement a AuthenticationHandler and inject that into the
HttpManagerBuilder.

That will be invoked by milton prior to processing when it would
normally parse and verify authentication credentials.

You can at that point create an Auth object containing the appropriate
user name and set it into the Request with setAuthorization. You should
also return some object representing the authenticated user, which could
simply be the user name as a String.

/Brad

On 11/02/14 05:50, hypspecter wrote:

> I have successfully implemented CAC authentication using SSL with JBoss 7.1.
> However, now that authentication is being handled by the server, I have no
> user for use with locking and privileges.  It states that the Resource is
> locked with a null user and will be ignored.  How do I tell milton what user
> is being used for the purpose of locking and setting privileges on the file
> opened in Word.
>
>
>
> --
> View this message in context: http://milton-users.96038.n3.nabble.com/Locking-Privileges-without-webDav-authentication-tp4025603.html
> Sent from the Milton Users mailing list archive at Nabble.com.
> _______________________________________________
> Milton-users mailing list
> [hidden email]
> http://lists.justthe.net/mailman/listinfo/milton-users

_______________________________________________
Milton-users mailing list
[hidden email]
http://lists.justthe.net/mailman/listinfo/milton-users
Reply | Threaded
Open this post in threaded view
|

Re: Locking/Privileges without webDav authentication

hypspecter
I am able to determine the user from Java.  Is there an example of creating an AuthenticationHandler and/or injecting that into HttpManagerBuilder.
Reply | Threaded
Open this post in threaded view
|

Re: Locking/Privileges without webDav authentication

bradmacnz
I cant think of an example, but its completely trivial. How you do it
depends on what means you're using to configure the application.

If you're using spring then its just a matter of setting the
extraAuthenticationHandlers property on the HttpManagerBuilder bean.

Or if you're using the MiltonConfigurator framework then you will need
to subclass DefaultMiltonConfigurator and add some logic to instantiate
your auth handler and add call setExtraAuthenticationHandlers

/Brad



On 11/02/14 08:03, hypspecter wrote:

> I am able to determine the user from Java.  Is there an example of creating
> an AuthenticationHandler and/or injecting that into HttpManagerBuilder.
>
>
>
> --
> View this message in context: http://milton-users.96038.n3.nabble.com/Locking-Privileges-without-webDav-authentication-tp4025603p4025605.html
> Sent from the Milton Users mailing list archive at Nabble.com.
> _______________________________________________
> Milton-users mailing list
> [hidden email]
> http://lists.justthe.net/mailman/listinfo/milton-users

_______________________________________________
Milton-users mailing list
[hidden email]
http://lists.justthe.net/mailman/listinfo/milton-users
Reply | Threaded
Open this post in threaded view
|

Re: Locking/Privileges without webDav authentication

hypspecter
Your documentation does not explain 2 methods that are required by the interface AuthenticationHandler.  What does public boolean credentialsPresent(Request) and public void appendChallenges(Resource, Request, List<String>) expect to perform?  If I do nothing in appendChallenges, will it cause any issues.  I do not want interface with the user at all, just pull it from the URL path and setup the Auth object.
Reply | Threaded
Open this post in threaded view
|

Re: Locking/Privileges without webDav authentication

bradmacnz

Hey,

The methods are explained in the javadoc:

     /**
      * Determine if there are login credentials present. Should not
attempt to
      * validate credentials. Should only determine if something has
been provided
      *
      * @param request
      * @return
      */
     boolean credentialsPresent(Request request);

If you already have a user (ie from CAC) then return true, otherwise
return false


     /**
      * Create a challenge for this authentication method. This should
be completely
      * formatted as per http://tools.ietf.org/html/rfc2617 and appended
to the
      * given list of challenges. It is allowable to append more then
one challenge
      * if appropriate
      *
      * @param resource
      * @param request
      * @return
      */
     void appendChallenges( Resource resource, Request request,
List<String> challenges );

You do not ever want to challenge the user so you should not append any
challenges. Simply do nothing in this method.

Make sense?

/Brad

On 11/02/14 08:48, hypspecter wrote:

> Your documentation does not explain 2 methods that are required by the
> interface AuthenticationHandler.  What does public boolean
> credentialsPresent(Request) and public void appendChallenges(Resource,
> Request, List<String>) expect to perform?  If I do nothing in
> appendChallenges, will it cause any issues.  I do not want interface with
> the user at all, just pull it from the URL path and setup the Auth object.
>
>
>
> --
> View this message in context: http://milton-users.96038.n3.nabble.com/Locking-Privileges-without-webDav-authentication-tp4025603p4025608.html
> Sent from the Milton Users mailing list archive at Nabble.com.
> _______________________________________________
> Milton-users mailing list
> [hidden email]
> http://lists.justthe.net/mailman/listinfo/milton-users

_______________________________________________
Milton-users mailing list
[hidden email]
http://lists.justthe.net/mailman/listinfo/milton-users
Reply | Threaded
Open this post in threaded view
|

Re: Locking/Privileges without webDav authentication

hypspecter
Sorry the link in the documentation to the api didn't have those.  I have implemented what you said however I am now getting denied access to the file from Word.  I have stepped through the following code and it is finding the user and creating the Auth.  Any idea why it would deny access?

public class AddmAuthenticationHandler implements AuthenticationHandler {
        public void appendChallenges(Resource arg0, Request arg1, List<String> arg2) {
        }
        public Object authenticate(Resource resource, Request request) {
                String path = request.getAbsolutePath();
                String[] tokens;
                final String urlSeparator = "/";
                tokens = path.split(urlSeparator);
                String username = tokens[3];
                User addmUser = DataSource.getInstance().getUserByName(username);
                Auth authorizedUser = new Auth(username, addmUser);
                request.setAuthorization(authorizedUser);
                return username;
        }
        public boolean credentialsPresent(Request arg0) {
                return true;
        }
        public boolean isCompatible(Resource arg0, Request arg1) {
                return false;
        }
        public boolean supports(Resource arg0, Request arg1) {
                return true;
        }
}
Reply | Threaded
Open this post in threaded view
|

Re: Locking/Privileges without webDav authentication

bradmacnz

That looks like it should be ok.

Could you have a look at the milton logs, if you set it to TRACE you
should get something telling you why there was an authorisation failure.

On 11/02/14 10:19, hypspecter wrote:

> Sorry the link in the documentation to the api didn't have those.  I have
> implemented what you said however I am now getting denied access to the file
> from Word.  I have stepped through the following code and it is finding the
> user and creating the Auth.  Any idea why it would deny access?
>
> public class AddmAuthenticationHandler implements AuthenticationHandler {
> public void appendChallenges(Resource arg0, Request arg1, List<String>
> arg2) {
> }
> public Object authenticate(Resource resource, Request request) {
> String path = request.getAbsolutePath();
> String[] tokens;
> final String urlSeparator = "/";
> tokens = path.split(urlSeparator);
> String username = tokens[3];
> User addmUser = DataSource.getInstance().getUserByName(username);
> Auth authorizedUser = new Auth(username, addmUser);
> request.setAuthorization(authorizedUser);
> return username;
> }
> public boolean credentialsPresent(Request arg0) {
> return true;
> }
> public boolean isCompatible(Resource arg0, Request arg1) {
> return false;
> }
> public boolean supports(Resource arg0, Request arg1) {
> return true;
> }
> }
>
>
>
> --
> View this message in context: http://milton-users.96038.n3.nabble.com/Locking-Privileges-without-webDav-authentication-tp4025603p4025610.html
> Sent from the Milton Users mailing list archive at Nabble.com.
> _______________________________________________
> Milton-users mailing list
> [hidden email]
> http://lists.justthe.net/mailman/listinfo/milton-users

_______________________________________________
Milton-users mailing list
[hidden email]
http://lists.justthe.net/mailman/listinfo/milton-users
Reply | Threaded
Open this post in threaded view
|

Re: Locking/Privileges without webDav authentication

hypspecter
In reply to this post by bradmacnz
In the above code I used the username in the path of the URL.  Is it possible to pull the Principal or X509Certificate out of the Request object?
Reply | Threaded
Open this post in threaded view
|

Re: Locking/Privileges without webDav authentication

bradmacnz
Sure, you can get the original servlet request with
io.milton.servlet.ServletRequest.getRequest()


On 11/02/14 10:31, hypspecter wrote:

> In the above code I used the username in the path of the URL.  Is it possible
> to pull the Principal or X509Certificate out of the Request object?
>
>
>
> --
> View this message in context: http://milton-users.96038.n3.nabble.com/Locking-Privileges-without-webDav-authentication-tp4025603p4025612.html
> Sent from the Milton Users mailing list archive at Nabble.com.
> _______________________________________________
> Milton-users mailing list
> [hidden email]
> http://lists.justthe.net/mailman/listinfo/milton-users

_______________________________________________
Milton-users mailing list
[hidden email]
http://lists.justthe.net/mailman/listinfo/milton-users
Reply | Threaded
Open this post in threaded view
|

Re: Locking/Privileges without webDav authentication

hypspecter
Thanks. That got me the Principal.  Can't look at logs because we don't use apache log4j so I am unable to view the logs.  I look to see if I can set that up along with our current logging.
Reply | Threaded
Open this post in threaded view
|

Re: Locking/Privileges without webDav authentication

bradmacnz
Milton actually uses sl4j, which can be hooked up to any logging
framework, doenst have to be log4j


On 11/02/14 11:01, hypspecter wrote:

> Thanks. That got me the Principal.  Can't look at logs because we don't use
> apache log4j so I am unable to view the logs.  I look to see if I can set
> that up along with our current logging.
>
>
>
> --
> View this message in context: http://milton-users.96038.n3.nabble.com/Locking-Privileges-without-webDav-authentication-tp4025603p4025614.html
> Sent from the Milton Users mailing list archive at Nabble.com.
> _______________________________________________
> Milton-users mailing list
> [hidden email]
> http://lists.justthe.net/mailman/listinfo/milton-users

_______________________________________________
Milton-users mailing list
[hidden email]
http://lists.justthe.net/mailman/listinfo/milton-users
Reply | Threaded
Open this post in threaded view
|

Re: Locking/Privileges without webDav authentication

hypspecter
Still having trouble getting milton to spit out anything but WARN but I have a guess.  In order to turn off the BasicAuthentication, I used a NullSecurityManager.  Could this be conflicting with the AuthenticationHandler I added.
Reply | Threaded
Open this post in threaded view
|

Re: Locking/Privileges without webDav authentication

hypspecter
Here is the stack trace from the logger.  I added a few comments to explain when my debugger hit certain parts of the code.

11:04:42,486 INFO  io.milton.servlet.DefaultMiltonConfigurator.<init> Using enterprise builder: class io.milton.ent.config.HttpManagerBuilderEnt
11:04:42,489 INFO  io.milton.servlet.DefaultMiltonConfigurator.configure Listing all config parameters:
11:04:42,491 INFO  io.milton.servlet.DefaultMiltonConfigurator.configure  milton.configurator = mil.af.addm.webDAV.AddmMiltonConfigurator
11:04:42,493 INFO  io.milton.servlet.DefaultMiltonConfigurator.configure  controllerClassNames = mil.af.addm.webDAV.AddmController,
                         mil.af.addm.webDAV.WebdavController,
                         mil.af.addm.webDAV.TypeController,
                         mil.af.addm.webDAV.VersionController,
                         mil.af.addm.webDAV.IdController,
                         mil.af.addm.webDAV.UserController
11:04:42,499 INFO  io.milton.servlet.DefaultMiltonConfigurator.configure  resource.factory.class = io.milton.http.annotated.AnnotationResourceFactory
11:04:42,549 INFO  io.milton.config.HttpManagerBuilder.init Using mainResourceFactory: class io.milton.http.annotated.AnnotationResourceFactory
11:04:42,551 INFO  io.milton.config.HttpManagerBuilder.showLog set property: expiredNonceRemover to: io.milton.http.http11.auth.ExpiredNonceRemover@147b99a
11:04:42,554 INFO  io.milton.config.HttpManagerBuilder.showLog set property: nonceProvider to: io.milton.http.http11.auth.SimpleMemoryNonceProvider@e48a81
11:04:42,557 INFO  io.milton.config.HttpManagerBuilder.init Adding extra auth handlers: 1
11:04:42,559 INFO  io.milton.config.HttpManagerBuilder.showLog set property: authenticationService to: io.milton.http.AuthenticationService@53ae0b
11:04:42,562 DEBUG io.milton.http.caldav.CalendarResourceTypeHelper.<init> CalendarResourceTypeHelper constructed :AccessControlledResourceTypeHelper
11:04:42,565 DEBUG io.milton.http.carddav.AddressBookResourceTypeHelper.<init> CalendarResourceTypeHelper constructed :CalendarResourceTypeHelper
11:04:42,568 INFO  io.milton.config.HttpManagerBuilder.showLog set property: propFindXmlGenerator to: io.milton.http.webdav.PropFindXmlGenerator@1998ea8
11:04:42,572 INFO  io.milton.config.HttpManagerBuilder.showLog set property: http11ResponseHandler to: io.milton.http.http11.DefaultHttp11ResponseHandler@1c82378
11:04:42,576 INFO  io.milton.config.HttpManagerBuilder.showLog set property: webdavResponseHandler to: io.milton.http.webdav.DefaultWebDavResponseHandler@1d4b046
11:04:42,578 INFO  io.milton.config.HttpManagerBuilder.init form authentication is enabled, so wrap response handler with class io.milton.http.http11.auth.LoginResponseHandler
11:04:42,581 INFO  io.milton.config.HttpManagerBuilder.initAnnotatedResourceFactory initAnnotatedResourceFactory
11:04:42,583 INFO  io.milton.config.HttpManagerBuilder.initAnnotatedResourceFactory enableEarlyAuth=false
11:04:42,584 INFO  io.milton.config.HttpManagerBuilder.initAnnotatedResourceFactory Initialise controller classes: mil.af.addm.webDAV.AddmController,
                         mil.af.addm.webDAV.WebdavController,
                         mil.af.addm.webDAV.TypeController,
                         mil.af.addm.webDAV.VersionController,
                         mil.af.addm.webDAV.IdController,
                         mil.af.addm.webDAV.UserController
11:04:42,590 INFO  io.milton.config.HttpManagerBuilder.initAnnotatedResourceFactory init annotation controller: mil.af.addm.webDAV.AddmController
11:04:42,594 INFO  io.milton.config.HttpManagerBuilder.createObject createObject: mil.af.addm.webDAV.AddmController
11:04:42,595 INFO  io.milton.config.HttpManagerBuilder.createObject Creating: mil.af.addm.webDAV.AddmController
11:04:42,599 INFO  io.milton.config.HttpManagerBuilder.initAnnotatedResourceFactory init annotation controller: mil.af.addm.webDAV.WebdavController
11:04:42,601 INFO  io.milton.config.HttpManagerBuilder.createObject createObject: mil.af.addm.webDAV.WebdavController
11:04:42,603 INFO  io.milton.config.HttpManagerBuilder.createObject Creating: mil.af.addm.webDAV.WebdavController
11:04:42,605 INFO  io.milton.config.HttpManagerBuilder.initAnnotatedResourceFactory init annotation controller: mil.af.addm.webDAV.TypeController
11:04:42,607 INFO  io.milton.config.HttpManagerBuilder.createObject createObject: mil.af.addm.webDAV.TypeController
11:04:42,609 INFO  io.milton.config.HttpManagerBuilder.createObject Creating: mil.af.addm.webDAV.TypeController
11:04:42,611 INFO  io.milton.config.HttpManagerBuilder.initAnnotatedResourceFactory init annotation controller: mil.af.addm.webDAV.VersionController
11:04:42,613 INFO  io.milton.config.HttpManagerBuilder.createObject createObject: mil.af.addm.webDAV.VersionController
11:04:42,615 INFO  io.milton.config.HttpManagerBuilder.createObject Creating: mil.af.addm.webDAV.VersionController
11:04:42,619 INFO  io.milton.config.HttpManagerBuilder.initAnnotatedResourceFactory init annotation controller: mil.af.addm.webDAV.IdController
11:04:42,621 INFO  io.milton.config.HttpManagerBuilder.createObject createObject: mil.af.addm.webDAV.IdController
11:04:42,623 INFO  io.milton.config.HttpManagerBuilder.createObject Creating: mil.af.addm.webDAV.IdController
11:04:42,625 INFO  io.milton.config.HttpManagerBuilder.initAnnotatedResourceFactory init annotation controller: mil.af.addm.webDAV.UserController
11:04:42,627 INFO  io.milton.config.HttpManagerBuilder.createObject createObject: mil.af.addm.webDAV.UserController
11:04:42,631 INFO  io.milton.config.HttpManagerBuilder.createObject Creating: mil.af.addm.webDAV.UserController
11:04:42,634 INFO  io.milton.http.annotated.AnnotationResourceFactory.setControllers setControllers: 6 parsing controllers...
11:04:42,636 INFO  io.milton.http.annotated.AnnotationResourceFactory.setControllers Parse controller: class mil.af.addm.webDAV.AddmController
11:04:42,640 INFO  io.milton.http.annotated.AnnotationResourceFactory.setControllers Parse controller: class mil.af.addm.webDAV.WebdavController
11:04:42,643 INFO  io.milton.http.annotated.AnnotationResourceFactory.setControllers Parse controller: class mil.af.addm.webDAV.TypeController
11:04:42,646 INFO  io.milton.http.annotated.AnnotationResourceFactory.setControllers Parse controller: class mil.af.addm.webDAV.VersionController
11:04:42,652 INFO  io.milton.http.annotated.AnnotationResourceFactory.setControllers Parse controller: class mil.af.addm.webDAV.IdController
11:04:42,655 INFO  io.milton.http.annotated.AnnotationResourceFactory.setControllers Parse controller: class mil.af.addm.webDAV.UserController
11:04:42,660 INFO  io.milton.http.annotated.AnnotationResourceFactory.setControllers Controller parsing complete. Listing found methods..
11:04:42,662 INFO  io.milton.http.annotated.AnnotationResourceFactory.setControllers Annotation: interface io.milton.annotations.Name
11:04:42,664 INFO  io.milton.http.annotated.AnnotationResourceFactory.setControllers   method: public java.lang.String mil.af.addm.webDAV.AddmController.getTemplateBuilderName(mil.af.addm.webDAV.AddmController)
11:04:42,667 INFO  io.milton.http.annotated.AnnotationResourceFactory.setControllers   method: public java.lang.String mil.af.addm.webDAV.WebdavController.webDavName(mil.af.addm.webDAV.WebdavDirectory)
11:04:42,670 INFO  io.milton.http.annotated.AnnotationResourceFactory.setControllers   method: public java.lang.String mil.af.addm.webDAV.TypeController.webDavName(mil.af.addm.webDAV.TypeDirectory)
11:04:42,673 INFO  io.milton.http.annotated.AnnotationResourceFactory.setControllers   method: public java.lang.String mil.af.addm.webDAV.VersionController.uuidName(mil.af.addm.webDAV.WebDavDocument)
11:04:42,675 INFO  io.milton.http.annotated.AnnotationResourceFactory.setControllers   method: public java.lang.String mil.af.addm.webDAV.IdController.webDavName(mil.af.addm.webDAV.IdDirectory)
11:04:42,678 INFO  io.milton.http.annotated.AnnotationResourceFactory.setControllers Annotation: interface io.milton.annotations.CalendarColor
11:04:42,680 INFO  io.milton.http.annotated.AnnotationResourceFactory.setControllers   No methods found
11:04:42,682 INFO  io.milton.http.annotated.AnnotationResourceFactory.setControllers Annotation: interface io.milton.annotations.Post
11:04:42,684 INFO  io.milton.http.annotated.AnnotationResourceFactory.setControllers   No methods found
11:04:42,685 INFO  io.milton.http.annotated.AnnotationResourceFactory.setControllers Annotation: interface io.milton.annotations.ChildOf
11:04:42,687 INFO  io.milton.http.annotated.AnnotationResourceFactory.setControllers   method: public mil.af.addm.webDAV.AuthenticatedUser mil.af.addm.webDAV.UserController.findUserByName(mil.af.addm.webDAV.UserController,java.lang.String)
11:04:42,691 INFO  io.milton.http.annotated.AnnotationResourceFactory.setControllers Annotation: interface io.milton.annotations.ContactData
11:04:42,693 INFO  io.milton.http.annotated.AnnotationResourceFactory.setControllers   No methods found
11:04:42,694 INFO  io.milton.http.annotated.AnnotationResourceFactory.setControllers Annotation: interface io.milton.annotations.Copy
11:04:42,696 INFO  io.milton.http.annotated.AnnotationResourceFactory.setControllers   No methods found
11:04:42,698 INFO  io.milton.http.annotated.AnnotationResourceFactory.setControllers Annotation: interface io.milton.annotations.Move
11:04:42,700 INFO  io.milton.http.annotated.AnnotationResourceFactory.setControllers   No methods found
11:04:42,702 INFO  io.milton.http.annotated.AnnotationResourceFactory.setControllers Annotation: interface io.milton.annotations.Root
11:04:42,704 INFO  io.milton.http.annotated.AnnotationResourceFactory.setControllers   method: public mil.af.addm.webDAV.AddmController mil.af.addm.webDAV.AddmController.getRoot()
11:04:42,706 INFO  io.milton.http.annotated.AnnotationResourceFactory.setControllers Annotation: interface io.milton.annotations.Delete
11:04:42,708 INFO  io.milton.http.annotated.AnnotationResourceFactory.setControllers   method: public void mil.af.addm.webDAV.VersionController.deleteProductFile(mil.af.addm.webDAV.WebDavDocument)
11:04:42,711 INFO  io.milton.http.annotated.AnnotationResourceFactory.setControllers Annotation: interface io.milton.annotations.CalendarInvitations
11:04:42,713 INFO  io.milton.http.annotated.AnnotationResourceFactory.setControllers   No methods found
11:04:42,715 INFO  io.milton.http.annotated.AnnotationResourceFactory.setControllers Annotation: interface io.milton.annotations.PutChild
11:04:42,717 INFO  io.milton.http.annotated.AnnotationResourceFactory.setControllers   method: public mil.af.addm.webDAV.WebDavDocument mil.af.addm.webDAV.VersionController.upload(mil.af.addm.webDAV.VersionDirectory,java.lang.String,byte[],mil.af.addm.webDAV.VersionController)
11:04:42,721 INFO  io.milton.http.annotated.AnnotationResourceFactory.setControllers Annotation: interface io.milton.annotations.Authenticate
11:04:42,723 INFO  io.milton.http.annotated.AnnotationResourceFactory.setControllers   method: public java.lang.Boolean mil.af.addm.webDAV.UserController.verifyPassword(mil.af.addm.webDAV.AuthenticatedUser,java.lang.String)
11:04:42,726 INFO  io.milton.http.annotated.AnnotationResourceFactory.setControllers Annotation: interface io.milton.annotations.ChildrenOf
11:04:42,728 INFO  io.milton.http.annotated.AnnotationResourceFactory.setControllers   method: public java.util.List mil.af.addm.webDAV.AddmController.getDirectory(mil.af.addm.webDAV.AddmController)
11:04:42,731 INFO  io.milton.http.annotated.AnnotationResourceFactory.setControllers   method: public java.util.List mil.af.addm.webDAV.WebdavController.getDirectory(mil.af.addm.webDAV.AddmDirectory)
11:04:42,734 INFO  io.milton.http.annotated.AnnotationResourceFactory.setControllers   method: public java.util.List mil.af.addm.webDAV.TypeController.getDirectory(mil.af.addm.webDAV.AuthenticatedUser)
11:04:42,736 INFO  io.milton.http.annotated.AnnotationResourceFactory.setControllers   method: public java.util.List mil.af.addm.webDAV.VersionController.getDirectory(mil.af.addm.webDAV.IdDirectory)
11:04:42,739 INFO  io.milton.http.annotated.AnnotationResourceFactory.setControllers   method: public java.util.List mil.af.addm.webDAV.VersionController.getProductFiles(mil.af.addm.webDAV.VersionDirectory)
11:04:42,742 INFO  io.milton.http.annotated.AnnotationResourceFactory.setControllers   method: public java.util.List mil.af.addm.webDAV.IdController.getDirectory(mil.af.addm.webDAV.TypeDirectory)
11:04:42,745 INFO  io.milton.http.annotated.AnnotationResourceFactory.setControllers   method: public java.util.List mil.af.addm.webDAV.UserController.getUsers(mil.af.addm.webDAV.WebdavController)
11:04:42,747 INFO  io.milton.http.annotated.AnnotationResourceFactory.setControllers   method: public java.util.List mil.af.addm.webDAV.UserController.getUsers(mil.af.addm.webDAV.WebdavDirectory)
11:04:42,750 INFO  io.milton.http.annotated.AnnotationResourceFactory.setControllers Annotation: interface io.milton.annotations.MaxAge
11:04:42,752 INFO  io.milton.http.annotated.AnnotationResourceFactory.setControllers   No methods found
11:04:42,753 INFO  io.milton.http.annotated.AnnotationResourceFactory.setControllers Annotation: interface io.milton.annotations.Users
11:04:42,755 INFO  io.milton.http.annotated.AnnotationResourceFactory.setControllers   method: public java.util.List mil.af.addm.webDAV.UserController.getUsers(mil.af.addm.webDAV.WebdavController)
11:04:42,758 INFO  io.milton.http.annotated.AnnotationResourceFactory.setControllers   method: public java.util.List mil.af.addm.webDAV.UserController.getUsers(mil.af.addm.webDAV.WebdavDirectory)
11:04:42,761 INFO  io.milton.http.annotated.AnnotationResourceFactory.setControllers   method: public mil.af.addm.webDAV.AuthenticatedUser mil.af.addm.webDAV.UserController.findUserByName(mil.af.addm.webDAV.UserController,java.lang.String)
11:04:42,764 INFO  io.milton.http.annotated.AnnotationResourceFactory.setControllers Annotation: interface io.milton.annotations.UniqueId
11:04:42,766 INFO  io.milton.http.annotated.AnnotationResourceFactory.setControllers   No methods found
11:04:42,768 INFO  io.milton.http.annotated.AnnotationResourceFactory.setControllers Annotation: interface io.milton.annotations.CreatedDate
11:04:42,770 INFO  io.milton.http.annotated.AnnotationResourceFactory.setControllers   No methods found
11:04:42,772 INFO  io.milton.http.annotated.AnnotationResourceFactory.setControllers Annotation: interface io.milton.annotations.FreeBusyQuery
11:04:42,774 INFO  io.milton.http.annotated.AnnotationResourceFactory.setControllers   No methods found
11:04:42,775 INFO  io.milton.http.annotated.AnnotationResourceFactory.setControllers Annotation: interface io.milton.annotations.Calendars
11:04:42,777 INFO  io.milton.http.annotated.AnnotationResourceFactory.setControllers   No methods found
11:04:42,779 INFO  io.milton.http.annotated.AnnotationResourceFactory.setControllers Annotation: interface io.milton.annotations.Get
11:04:42,781 INFO  io.milton.http.annotated.AnnotationResourceFactory.setControllers   method: public java.io.InputStream mil.af.addm.webDAV.VersionController.getDocument(mil.af.addm.webDAV.WebDavDocument) throws java.io.IOException
11:04:42,784 INFO  io.milton.http.annotated.AnnotationResourceFactory.setControllers Annotation: interface io.milton.annotations.AccessControlList
11:04:42,787 INFO  io.milton.http.annotated.AnnotationResourceFactory.setControllers   No methods found
11:04:42,788 INFO  io.milton.http.annotated.AnnotationResourceFactory.setControllers Annotation: interface io.milton.annotations.CalendarInvitationsCTag
11:04:42,790 INFO  io.milton.http.annotated.AnnotationResourceFactory.setControllers   No methods found
11:04:42,792 INFO  io.milton.http.annotated.AnnotationResourceFactory.setControllers Annotation: interface io.milton.annotations.ICalData
11:04:42,794 INFO  io.milton.http.annotated.AnnotationResourceFactory.setControllers   No methods found
11:04:42,795 INFO  io.milton.http.annotated.AnnotationResourceFactory.setControllers Annotation: interface io.milton.annotations.MakeCollection
11:04:42,797 INFO  io.milton.http.annotated.AnnotationResourceFactory.setControllers   No methods found
11:04:42,799 INFO  io.milton.http.annotated.AnnotationResourceFactory.setControllers Annotation: interface io.milton.annotations.CalendarDateRangeQuery
11:04:42,801 INFO  io.milton.http.annotated.AnnotationResourceFactory.setControllers   No methods found
11:04:42,803 INFO  io.milton.http.annotated.AnnotationResourceFactory.setControllers Annotation: interface io.milton.annotations.ContentType
11:04:42,805 INFO  io.milton.http.annotated.AnnotationResourceFactory.setControllers   No methods found
11:04:42,806 INFO  io.milton.http.annotated.AnnotationResourceFactory.setControllers Annotation: interface io.milton.annotations.DisplayName
11:04:42,808 INFO  io.milton.http.annotated.AnnotationResourceFactory.setControllers   No methods found
11:04:42,810 INFO  io.milton.http.annotated.AnnotationResourceFactory.setControllers Annotation: interface io.milton.annotations.CTag
11:04:42,811 INFO  io.milton.http.annotated.AnnotationResourceFactory.setControllers   No methods found
11:04:42,813 INFO  io.milton.http.annotated.AnnotationResourceFactory.setControllers Annotation: interface io.milton.annotations.ModifiedDate
11:04:42,815 INFO  io.milton.http.annotated.AnnotationResourceFactory.setControllers   No methods found
11:04:42,817 INFO  io.milton.http.annotated.AnnotationResourceFactory.setControllers Annotation: interface io.milton.annotations.AddressBooks
11:04:42,819 INFO  io.milton.http.annotated.AnnotationResourceFactory.setControllers   No methods found
11:04:42,820 INFO  io.milton.config.HttpManagerBuilder.securityManager Using securityManager: class io.milton.http.fs.NullSecurityManager
11:04:42,822 DEBUG io.milton.http.annotated.AnnotationResourceFactory.setSecurityManager securityManager: class io.milton.http.fs.NullSecurityManager
11:04:42,825 INFO  io.milton.config.HttpManagerBuilder.showLog set property: handlerHelper to: io.milton.http.HandlerHelper@1e69bc2
11:04:42,827 INFO  io.milton.config.HttpManagerBuilder.init ExpectContinue support has been disabled
11:04:42,829 INFO  io.milton.config.HttpManagerBuilder.showLog set property: resourceHandlerHelper to: io.milton.http.ResourceHandlerHelper@550422
11:04:42,831 INFO  io.milton.ent.config.HttpManagerBuilderEnt.buildOuterResourceFactory buildOuterResourceFactory
11:04:42,835 DEBUG io.milton.http.json.JsonResourceFactory.<init> created with: io.milton.http.json.JsonPropFindHandler
11:04:42,837 INFO  io.milton.ent.config.HttpManagerBuilderEnt.buildOuterResourceFactory Enabled json/ajax gatewayw with: class io.milton.http.json.JsonResourceFactory
11:04:42,839 INFO  io.milton.ent.config.HttpManagerBuilderEnt.buildOuterResourceFactory Enabled well-known protocol support with: class io.milton.http.WellKnownResourceFactory
11:04:42,842 WARN  io.milton.ent.config.HttpManagerBuilderEnt.buildOuterResourceFactory Using the default calendar search service. Calendar search functions may exhibit poor performance. If thats a problem implement your own: interface io.milton.http.caldav.CalendarSearchService
11:04:42,842 WARN  [io.milton.ent.config.HttpManagerBuilderEnt] (MSC service thread 1-1) Using the default calendar search service. Calendar search functions may exhibit poor performance. If thats a problem implement your own: interface io.milton.http.caldav.CalendarSearchService
11:04:42,847 INFO  io.milton.ent.config.HttpManagerBuilderEnt.buildOuterResourceFactory Caldav Scheduling is enabled: class io.milton.http.caldav.SchedulingResourceFactory
11:04:42,853 INFO  io.milton.ent.config.HttpManagerBuilderEnt.buildProtocolHandlers Enabled HTTP11 protocol
11:04:42,857 INFO  io.milton.http.webdav.WebDavProtocol.<init> resourceTypeHelper: class io.milton.http.carddav.AddressBookResourceTypeHelper
11:04:42,859 INFO  io.milton.http.webdav.WebDavProtocol.<init> no quota data
11:04:42,862 DEBUG io.milton.http.webdav.WebDavProtocol.<init> provided property sources: 2
11:04:42,864 DEBUG io.milton.http.webdav.WebDavProtocol.<init> adding webdav as a property source to: class java.util.ArrayList hashCode: 788312679
11:04:42,866 DEBUG io.milton.http.webdav.WebDavProtocol.addPropertySource adding property source: class io.milton.http.webdav.WebDavProtocol new size: 3
11:04:42,872 INFO  io.milton.ent.config.HttpManagerBuilderEnt.buildProtocolHandlers Enabled DAV level 1 protocol
11:04:43,343 INFO  io.milton.ent.config.HttpManagerBuilderEnt.buildProtocolHandlers Enabled DAV level 2 protocol
11:04:43,346 DEBUG io.milton.http.webdav.WebDavProtocol.addPropertySource adding property source: class io.milton.http.webdav2.WebDavLevel2Protocol new size: 4
11:04:43,352 DEBUG io.milton.http.webdav.WebDavProtocol.addPropertySource adding property source: class io.milton.http.caldav.CalDavProtocol new size: 5
11:04:43,357 INFO  io.milton.ent.config.HttpManagerBuilderEnt.buildProtocolHandlers Add Caldav protocol: class io.milton.http.caldav.CalDavProtocol with resource factory: io.milton.http.caldav.SchedulingResourceFactory@1670332
11:04:43,361 DEBUG io.milton.http.acl.ACLProtocol.<init> registering the ACLProtocol as a property source
11:04:43,362 DEBUG io.milton.http.webdav.WebDavProtocol.addPropertySource adding property source: class io.milton.http.acl.ACLProtocol new size: 6
11:04:43,365 INFO  io.milton.ent.config.HttpManagerBuilderEnt.buildProtocolHandlers Enaled ACL Protocol
11:04:43,367 DEBUG io.milton.http.webdav.WebDavProtocol.addPropertySource adding property source: class io.milton.http.carddav.CardDavProtocol new size: 7
11:04:43,371 INFO  io.milton.ent.config.HttpManagerBuilderEnt.buildProtocolHandlers Enabled CardDav protocol
11:04:43,372 INFO  io.milton.ent.config.HttpManagerBuilderEnt.buildProtocolHandlers Enabled well-known protocol
11:04:43,374 INFO  io.milton.config.HttpManagerBuilder.buildHttpManager Starting io.milton.http.http11.auth.ExpiredNonceRemover@147b99a this will remove Digest nonces from memory when they expire
11:04:43,377 DEBUG io.milton.http.http11.auth.ExpiredNonceRemover.start scheduling checks for expired nonces every 10 seconds
-----> Sent Request to the URL from Word for the document
12:05:57,491 INFO  io.milton.http.HttpManager.process OPTIONS :: https://localhost:8443/Addm/webdav/AT.DOEng1/document/829/1.0/ - https://localhost:8443/Addm/webdav/AT.DOEng1/document/829/1.0/
12:05:57,498 INFO  io.milton.http.annotated.AnnotationResourceFactory.getResource getResource: host: localhost:8443 - url:/Addm/webdav/AT.DOEng1/document/829/1.0/
12:05:57,507 INFO  io.milton.http.annotated.AnnotationResourceFactory.getResource Resource not found: host=localhost:8443 path=/Addm/webdav/AT.DOEng1/document/829/1.0
---> Filter called to insert file into webdav from database.  File data found and byte array returned.
12:06:37,221 WARN  [org.hibernate.hql.internal.ast.QueryTranslatorImpl] (http-localhost-127.0.0.1-8443-1) HHH000104: firstResult/maxResults specified with collection fetch; applying in memory!
12:06:50,600 INFO  io.milton.http.HttpManager.process HEAD :: https://localhost:8443/Addm/webdav/AT.DOEng1/document/829/1.0/TestDocument.docx - https://localhost:8443/Addm/webdav/AT.DOEng1/document/829/1.0/TestDocument.docx
12:06:50,603 DEBUG io.milton.http.http11.GetHandler.process process
12:06:50,605 INFO  io.milton.http.annotated.AnnotationResourceFactory.getResource getResource: host: localhost:8443 - url:/Addm/webdav/AT.DOEng1/document/829/1.0/TestDocument.docx
12:06:50,612 INFO  io.milton.http.annotated.AnnotationResourceFactory.getResource Found AnnoResource: class io.milton.http.annotated.AnnoFileResource  for path=/Addm/webdav/AT.DOEng1/document/829/1.0/TestDocument.docx  with source: Document [ID=829, versionNumber=1.0, fileName=TestDocument.docx, fileType=document, modifiedDate=null]
12:08:23,340 DEBUG io.milton.http.annotated.AnnoResource.authorise authorise: ACL cannot be calculated so use security manager: io.milton.http.fs.NullSecurityManager@ae0761
12:08:23,353 WARN  [org.hibernate.hql.internal.ast.QueryTranslatorImpl] (http-localhost-127.0.0.1-8443-1) HHH000104: firstResult/maxResults specified with collection fetch; applying in memory!
12:08:23,484 WARN  [org.hibernate.hql.internal.ast.QueryTranslatorImpl] (http-localhost-127.0.0.1-8443-1) HHH000104: firstResult/maxResults specified with collection fetch; applying in memory!
----> Word returns message that it cannot open file specified
----> Authentication Handler authenticate method called
12:08:23,593 DEBUG io.milton.http.StandardFilter.process No response entity to send to client for method: HEAD
Reply | Threaded
Open this post in threaded view
|

Re: Locking/Privileges without webDav authentication

bradmacnz
I cant see the issue from those logs, although this bit looks odd:

io.milton.http.annotated.AnnotationResourceFactory.getResource getResource:
host: localhost:8443 - url:/Addm/webdav/AT.DOEng1/document/829/1.0/
12:05:57,507 INFO
io.milton.http.annotated.AnnotationResourceFactory.getResource Resource not
found: host=localhost:8443 path=/Addm/webdav/AT.DOEng1/document/829/1.0


The 'resource not found' message suggests that the server will reply
with a 404 which I would expect to cause an error message from word,
although there are subsequent requests. And i dont understand your notes:

---> Filter called to insert file into webdav from database.  File data
found and byte array returned.

What is being inserted where and how? If milton is returning a 404 then
there isnt anything to insert into ... ? So that all sounds suspicious
although i cant give a definitive solution.

One thing that might help is to update to the latest milton, 2.6.0.0.
I've just added logging so we can see the response status code of each
request which really helps to reduce ambiguity.

If you would like to take this further, can i suggest you book some
consulting hours and then i can work with your directly, perhaps with a
skype screen sharing session? Please contact me directly if you want to
discuss. Or please feel free to continue using the mailing list, of course.

/Brad

On 12/02/14 06:23, hypspecter wrote:

> Here is the stack trace from the logger.  I added a few comments to explain
> when my debugger hit certain parts of the code.
>
> 11:04:42,486 INFO  io.milton.servlet.DefaultMiltonConfigurator.<init> Using
> enterprise builder: class io.milton.ent.config.HttpManagerBuilderEnt
> 11:04:42,489 INFO  io.milton.servlet.DefaultMiltonConfigurator.configure
> Listing all config parameters:
> 11:04:42,491 INFO  io.milton.servlet.DefaultMiltonConfigurator.configure
> milton.configurator = mil.af.addm.webDAV.AddmMiltonConfigurator
> 11:04:42,493 INFO  io.milton.servlet.DefaultMiltonConfigurator.configure
> controllerClassNames = mil.af.addm.webDAV.AddmController,
>                           mil.af.addm.webDAV.WebdavController,
>                           mil.af.addm.webDAV.TypeController,
>                           mil.af.addm.webDAV.VersionController,
>                           mil.af.addm.webDAV.IdController,
>                           mil.af.addm.webDAV.UserController
> 11:04:42,499 INFO  io.milton.servlet.DefaultMiltonConfigurator.configure
> resource.factory.class = io.milton.http.annotated.AnnotationResourceFactory
> 11:04:42,549 INFO  io.milton.config.HttpManagerBuilder.init Using
> mainResourceFactory: class
> io.milton.http.annotated.AnnotationResourceFactory
> 11:04:42,551 INFO  io.milton.config.HttpManagerBuilder.showLog set property:
> expiredNonceRemover to:
> io.milton.http.http11.auth.ExpiredNonceRemover@147b99a
> 11:04:42,554 INFO  io.milton.config.HttpManagerBuilder.showLog set property:
> nonceProvider to:
> io.milton.http.http11.auth.SimpleMemoryNonceProvider@e48a81
> 11:04:42,557 INFO  io.milton.config.HttpManagerBuilder.init Adding extra
> auth handlers: 1
> 11:04:42,559 INFO  io.milton.config.HttpManagerBuilder.showLog set property:
> authenticationService to: io.milton.http.AuthenticationService@53ae0b
> 11:04:42,562 DEBUG io.milton.http.caldav.CalendarResourceTypeHelper.<init>
> CalendarResourceTypeHelper constructed :AccessControlledResourceTypeHelper
> 11:04:42,565 DEBUG
> io.milton.http.carddav.AddressBookResourceTypeHelper.<init>
> CalendarResourceTypeHelper constructed :CalendarResourceTypeHelper
> 11:04:42,568 INFO  io.milton.config.HttpManagerBuilder.showLog set property:
> propFindXmlGenerator to: io.milton.http.webdav.PropFindXmlGenerator@1998ea8
> 11:04:42,572 INFO  io.milton.config.HttpManagerBuilder.showLog set property:
> http11ResponseHandler to:
> io.milton.http.http11.DefaultHttp11ResponseHandler@1c82378
> 11:04:42,576 INFO  io.milton.config.HttpManagerBuilder.showLog set property:
> webdavResponseHandler to:
> io.milton.http.webdav.DefaultWebDavResponseHandler@1d4b046
> 11:04:42,578 INFO  io.milton.config.HttpManagerBuilder.init form
> authentication is enabled, so wrap response handler with class
> io.milton.http.http11.auth.LoginResponseHandler
> 11:04:42,581 INFO
> io.milton.config.HttpManagerBuilder.initAnnotatedResourceFactory
> initAnnotatedResourceFactory
> 11:04:42,583 INFO
> io.milton.config.HttpManagerBuilder.initAnnotatedResourceFactory
> enableEarlyAuth=false
> 11:04:42,584 INFO
> io.milton.config.HttpManagerBuilder.initAnnotatedResourceFactory Initialise
> controller classes: mil.af.addm.webDAV.AddmController,
>                           mil.af.addm.webDAV.WebdavController,
>                           mil.af.addm.webDAV.TypeController,
>                           mil.af.addm.webDAV.VersionController,
>                           mil.af.addm.webDAV.IdController,
>                           mil.af.addm.webDAV.UserController
> 11:04:42,590 INFO
> io.milton.config.HttpManagerBuilder.initAnnotatedResourceFactory init
> annotation controller: mil.af.addm.webDAV.AddmController
> 11:04:42,594 INFO  io.milton.config.HttpManagerBuilder.createObject
> createObject: mil.af.addm.webDAV.AddmController
> 11:04:42,595 INFO  io.milton.config.HttpManagerBuilder.createObject
> Creating: mil.af.addm.webDAV.AddmController
> 11:04:42,599 INFO
> io.milton.config.HttpManagerBuilder.initAnnotatedResourceFactory init
> annotation controller: mil.af.addm.webDAV.WebdavController
> 11:04:42,601 INFO  io.milton.config.HttpManagerBuilder.createObject
> createObject: mil.af.addm.webDAV.WebdavController
> 11:04:42,603 INFO  io.milton.config.HttpManagerBuilder.createObject
> Creating: mil.af.addm.webDAV.WebdavController
> 11:04:42,605 INFO
> io.milton.config.HttpManagerBuilder.initAnnotatedResourceFactory init
> annotation controller: mil.af.addm.webDAV.TypeController
> 11:04:42,607 INFO  io.milton.config.HttpManagerBuilder.createObject
> createObject: mil.af.addm.webDAV.TypeController
> 11:04:42,609 INFO  io.milton.config.HttpManagerBuilder.createObject
> Creating: mil.af.addm.webDAV.TypeController
> 11:04:42,611 INFO
> io.milton.config.HttpManagerBuilder.initAnnotatedResourceFactory init
> annotation controller: mil.af.addm.webDAV.VersionController
> 11:04:42,613 INFO  io.milton.config.HttpManagerBuilder.createObject
> createObject: mil.af.addm.webDAV.VersionController
> 11:04:42,615 INFO  io.milton.config.HttpManagerBuilder.createObject
> Creating: mil.af.addm.webDAV.VersionController
> 11:04:42,619 INFO
> io.milton.config.HttpManagerBuilder.initAnnotatedResourceFactory init
> annotation controller: mil.af.addm.webDAV.IdController
> 11:04:42,621 INFO  io.milton.config.HttpManagerBuilder.createObject
> createObject: mil.af.addm.webDAV.IdController
> 11:04:42,623 INFO  io.milton.config.HttpManagerBuilder.createObject
> Creating: mil.af.addm.webDAV.IdController
> 11:04:42,625 INFO
> io.milton.config.HttpManagerBuilder.initAnnotatedResourceFactory init
> annotation controller: mil.af.addm.webDAV.UserController
> 11:04:42,627 INFO  io.milton.config.HttpManagerBuilder.createObject
> createObject: mil.af.addm.webDAV.UserController
> 11:04:42,631 INFO  io.milton.config.HttpManagerBuilder.createObject
> Creating: mil.af.addm.webDAV.UserController
> 11:04:42,634 INFO
> io.milton.http.annotated.AnnotationResourceFactory.setControllers
> setControllers: 6 parsing controllers...
> 11:04:42,636 INFO
> io.milton.http.annotated.AnnotationResourceFactory.setControllers Parse
> controller: class mil.af.addm.webDAV.AddmController
> 11:04:42,640 INFO
> io.milton.http.annotated.AnnotationResourceFactory.setControllers Parse
> controller: class mil.af.addm.webDAV.WebdavController
> 11:04:42,643 INFO
> io.milton.http.annotated.AnnotationResourceFactory.setControllers Parse
> controller: class mil.af.addm.webDAV.TypeController
> 11:04:42,646 INFO
> io.milton.http.annotated.AnnotationResourceFactory.setControllers Parse
> controller: class mil.af.addm.webDAV.VersionController
> 11:04:42,652 INFO
> io.milton.http.annotated.AnnotationResourceFactory.setControllers Parse
> controller: class mil.af.addm.webDAV.IdController
> 11:04:42,655 INFO
> io.milton.http.annotated.AnnotationResourceFactory.setControllers Parse
> controller: class mil.af.addm.webDAV.UserController
> 11:04:42,660 INFO
> io.milton.http.annotated.AnnotationResourceFactory.setControllers Controller
> parsing complete. Listing found methods..
> 11:04:42,662 INFO
> io.milton.http.annotated.AnnotationResourceFactory.setControllers
> Annotation: interface io.milton.annotations.Name
> 11:04:42,664 INFO
> io.milton.http.annotated.AnnotationResourceFactory.setControllers   method:
> public java.lang.String
> mil.af.addm.webDAV.AddmController.getTemplateBuilderName(mil.af.addm.webDAV.AddmController)
> 11:04:42,667 INFO
> io.milton.http.annotated.AnnotationResourceFactory.setControllers   method:
> public java.lang.String
> mil.af.addm.webDAV.WebdavController.webDavName(mil.af.addm.webDAV.WebdavDirectory)
> 11:04:42,670 INFO
> io.milton.http.annotated.AnnotationResourceFactory.setControllers   method:
> public java.lang.String
> mil.af.addm.webDAV.TypeController.webDavName(mil.af.addm.webDAV.TypeDirectory)
> 11:04:42,673 INFO
> io.milton.http.annotated.AnnotationResourceFactory.setControllers   method:
> public java.lang.String
> mil.af.addm.webDAV.VersionController.uuidName(mil.af.addm.webDAV.WebDavDocument)
> 11:04:42,675 INFO
> io.milton.http.annotated.AnnotationResourceFactory.setControllers   method:
> public java.lang.String
> mil.af.addm.webDAV.IdController.webDavName(mil.af.addm.webDAV.IdDirectory)
> 11:04:42,678 INFO
> io.milton.http.annotated.AnnotationResourceFactory.setControllers
> Annotation: interface io.milton.annotations.CalendarColor
> 11:04:42,680 INFO
> io.milton.http.annotated.AnnotationResourceFactory.setControllers   No
> methods found
> 11:04:42,682 INFO
> io.milton.http.annotated.AnnotationResourceFactory.setControllers
> Annotation: interface io.milton.annotations.Post
> 11:04:42,684 INFO
> io.milton.http.annotated.AnnotationResourceFactory.setControllers   No
> methods found
> 11:04:42,685 INFO
> io.milton.http.annotated.AnnotationResourceFactory.setControllers
> Annotation: interface io.milton.annotations.ChildOf
> 11:04:42,687 INFO
> io.milton.http.annotated.AnnotationResourceFactory.setControllers   method:
> public mil.af.addm.webDAV.AuthenticatedUser
> mil.af.addm.webDAV.UserController.findUserByName(mil.af.addm.webDAV.UserController,java.lang.String)
> 11:04:42,691 INFO
> io.milton.http.annotated.AnnotationResourceFactory.setControllers
> Annotation: interface io.milton.annotations.ContactData
> 11:04:42,693 INFO
> io.milton.http.annotated.AnnotationResourceFactory.setControllers   No
> methods found
> 11:04:42,694 INFO
> io.milton.http.annotated.AnnotationResourceFactory.setControllers
> Annotation: interface io.milton.annotations.Copy
> 11:04:42,696 INFO
> io.milton.http.annotated.AnnotationResourceFactory.setControllers   No
> methods found
> 11:04:42,698 INFO
> io.milton.http.annotated.AnnotationResourceFactory.setControllers
> Annotation: interface io.milton.annotations.Move
> 11:04:42,700 INFO
> io.milton.http.annotated.AnnotationResourceFactory.setControllers   No
> methods found
> 11:04:42,702 INFO
> io.milton.http.annotated.AnnotationResourceFactory.setControllers
> Annotation: interface io.milton.annotations.Root
> 11:04:42,704 INFO
> io.milton.http.annotated.AnnotationResourceFactory.setControllers   method:
> public mil.af.addm.webDAV.AddmController
> mil.af.addm.webDAV.AddmController.getRoot()
> 11:04:42,706 INFO
> io.milton.http.annotated.AnnotationResourceFactory.setControllers
> Annotation: interface io.milton.annotations.Delete
> 11:04:42,708 INFO
> io.milton.http.annotated.AnnotationResourceFactory.setControllers   method:
> public void
> mil.af.addm.webDAV.VersionController.deleteProductFile(mil.af.addm.webDAV.WebDavDocument)
> 11:04:42,711 INFO
> io.milton.http.annotated.AnnotationResourceFactory.setControllers
> Annotation: interface io.milton.annotations.CalendarInvitations
> 11:04:42,713 INFO
> io.milton.http.annotated.AnnotationResourceFactory.setControllers   No
> methods found
> 11:04:42,715 INFO
> io.milton.http.annotated.AnnotationResourceFactory.setControllers
> Annotation: interface io.milton.annotations.PutChild
> 11:04:42,717 INFO
> io.milton.http.annotated.AnnotationResourceFactory.setControllers   method:
> public mil.af.addm.webDAV.WebDavDocument
> mil.af.addm.webDAV.VersionController.upload(mil.af.addm.webDAV.VersionDirectory,java.lang.String,byte[],mil.af.addm.webDAV.VersionController)
> 11:04:42,721 INFO
> io.milton.http.annotated.AnnotationResourceFactory.setControllers
> Annotation: interface io.milton.annotations.Authenticate
> 11:04:42,723 INFO
> io.milton.http.annotated.AnnotationResourceFactory.setControllers   method:
> public java.lang.Boolean
> mil.af.addm.webDAV.UserController.verifyPassword(mil.af.addm.webDAV.AuthenticatedUser,java.lang.String)
> 11:04:42,726 INFO
> io.milton.http.annotated.AnnotationResourceFactory.setControllers
> Annotation: interface io.milton.annotations.ChildrenOf
> 11:04:42,728 INFO
> io.milton.http.annotated.AnnotationResourceFactory.setControllers   method:
> public java.util.List
> mil.af.addm.webDAV.AddmController.getDirectory(mil.af.addm.webDAV.AddmController)
> 11:04:42,731 INFO
> io.milton.http.annotated.AnnotationResourceFactory.setControllers   method:
> public java.util.List
> mil.af.addm.webDAV.WebdavController.getDirectory(mil.af.addm.webDAV.AddmDirectory)
> 11:04:42,734 INFO
> io.milton.http.annotated.AnnotationResourceFactory.setControllers   method:
> public java.util.List
> mil.af.addm.webDAV.TypeController.getDirectory(mil.af.addm.webDAV.AuthenticatedUser)
> 11:04:42,736 INFO
> io.milton.http.annotated.AnnotationResourceFactory.setControllers   method:
> public java.util.List
> mil.af.addm.webDAV.VersionController.getDirectory(mil.af.addm.webDAV.IdDirectory)
> 11:04:42,739 INFO
> io.milton.http.annotated.AnnotationResourceFactory.setControllers   method:
> public java.util.List
> mil.af.addm.webDAV.VersionController.getProductFiles(mil.af.addm.webDAV.VersionDirectory)
> 11:04:42,742 INFO
> io.milton.http.annotated.AnnotationResourceFactory.setControllers   method:
> public java.util.List
> mil.af.addm.webDAV.IdController.getDirectory(mil.af.addm.webDAV.TypeDirectory)
> 11:04:42,745 INFO
> io.milton.http.annotated.AnnotationResourceFactory.setControllers   method:
> public java.util.List
> mil.af.addm.webDAV.UserController.getUsers(mil.af.addm.webDAV.WebdavController)
> 11:04:42,747 INFO
> io.milton.http.annotated.AnnotationResourceFactory.setControllers   method:
> public java.util.List
> mil.af.addm.webDAV.UserController.getUsers(mil.af.addm.webDAV.WebdavDirectory)
> 11:04:42,750 INFO
> io.milton.http.annotated.AnnotationResourceFactory.setControllers
> Annotation: interface io.milton.annotations.MaxAge
> 11:04:42,752 INFO
> io.milton.http.annotated.AnnotationResourceFactory.setControllers   No
> methods found
> 11:04:42,753 INFO
> io.milton.http.annotated.AnnotationResourceFactory.setControllers
> Annotation: interface io.milton.annotations.Users
> 11:04:42,755 INFO
> io.milton.http.annotated.AnnotationResourceFactory.setControllers   method:
> public java.util.List
> mil.af.addm.webDAV.UserController.getUsers(mil.af.addm.webDAV.WebdavController)
> 11:04:42,758 INFO
> io.milton.http.annotated.AnnotationResourceFactory.setControllers   method:
> public java.util.List
> mil.af.addm.webDAV.UserController.getUsers(mil.af.addm.webDAV.WebdavDirectory)
> 11:04:42,761 INFO
> io.milton.http.annotated.AnnotationResourceFactory.setControllers   method:
> public mil.af.addm.webDAV.AuthenticatedUser
> mil.af.addm.webDAV.UserController.findUserByName(mil.af.addm.webDAV.UserController,java.lang.String)
> 11:04:42,764 INFO
> io.milton.http.annotated.AnnotationResourceFactory.setControllers
> Annotation: interface io.milton.annotations.UniqueId
> 11:04:42,766 INFO
> io.milton.http.annotated.AnnotationResourceFactory.setControllers   No
> methods found
> 11:04:42,768 INFO
> io.milton.http.annotated.AnnotationResourceFactory.setControllers
> Annotation: interface io.milton.annotations.CreatedDate
> 11:04:42,770 INFO
> io.milton.http.annotated.AnnotationResourceFactory.setControllers   No
> methods found
> 11:04:42,772 INFO
> io.milton.http.annotated.AnnotationResourceFactory.setControllers
> Annotation: interface io.milton.annotations.FreeBusyQuery
> 11:04:42,774 INFO
> io.milton.http.annotated.AnnotationResourceFactory.setControllers   No
> methods found
> 11:04:42,775 INFO
> io.milton.http.annotated.AnnotationResourceFactory.setControllers
> Annotation: interface io.milton.annotations.Calendars
> 11:04:42,777 INFO
> io.milton.http.annotated.AnnotationResourceFactory.setControllers   No
> methods found
> 11:04:42,779 INFO
> io.milton.http.annotated.AnnotationResourceFactory.setControllers
> Annotation: interface io.milton.annotations.Get
> 11:04:42,781 INFO
> io.milton.http.annotated.AnnotationResourceFactory.setControllers   method:
> public java.io.InputStream
> mil.af.addm.webDAV.VersionController.getDocument(mil.af.addm.webDAV.WebDavDocument)
> throws java.io.IOException
> 11:04:42,784 INFO
> io.milton.http.annotated.AnnotationResourceFactory.setControllers
> Annotation: interface io.milton.annotations.AccessControlList
> 11:04:42,787 INFO
> io.milton.http.annotated.AnnotationResourceFactory.setControllers   No
> methods found
> 11:04:42,788 INFO
> io.milton.http.annotated.AnnotationResourceFactory.setControllers
> Annotation: interface io.milton.annotations.CalendarInvitationsCTag
> 11:04:42,790 INFO
> io.milton.http.annotated.AnnotationResourceFactory.setControllers   No
> methods found
> 11:04:42,792 INFO
> io.milton.http.annotated.AnnotationResourceFactory.setControllers
> Annotation: interface io.milton.annotations.ICalData
> 11:04:42,794 INFO
> io.milton.http.annotated.AnnotationResourceFactory.setControllers   No
> methods found
> 11:04:42,795 INFO
> io.milton.http.annotated.AnnotationResourceFactory.setControllers
> Annotation: interface io.milton.annotations.MakeCollection
> 11:04:42,797 INFO
> io.milton.http.annotated.AnnotationResourceFactory.setControllers   No
> methods found
> 11:04:42,799 INFO
> io.milton.http.annotated.AnnotationResourceFactory.setControllers
> Annotation: interface io.milton.annotations.CalendarDateRangeQuery
> 11:04:42,801 INFO
> io.milton.http.annotated.AnnotationResourceFactory.setControllers   No
> methods found
> 11:04:42,803 INFO
> io.milton.http.annotated.AnnotationResourceFactory.setControllers
> Annotation: interface io.milton.annotations.ContentType
> 11:04:42,805 INFO
> io.milton.http.annotated.AnnotationResourceFactory.setControllers   No
> methods found
> 11:04:42,806 INFO
> io.milton.http.annotated.AnnotationResourceFactory.setControllers
> Annotation: interface io.milton.annotations.DisplayName
> 11:04:42,808 INFO
> io.milton.http.annotated.AnnotationResourceFactory.setControllers   No
> methods found
> 11:04:42,810 INFO
> io.milton.http.annotated.AnnotationResourceFactory.setControllers
> Annotation: interface io.milton.annotations.CTag
> 11:04:42,811 INFO
> io.milton.http.annotated.AnnotationResourceFactory.setControllers   No
> methods found
> 11:04:42,813 INFO
> io.milton.http.annotated.AnnotationResourceFactory.setControllers
> Annotation: interface io.milton.annotations.ModifiedDate
> 11:04:42,815 INFO
> io.milton.http.annotated.AnnotationResourceFactory.setControllers   No
> methods found
> 11:04:42,817 INFO
> io.milton.http.annotated.AnnotationResourceFactory.setControllers
> Annotation: interface io.milton.annotations.AddressBooks
> 11:04:42,819 INFO
> io.milton.http.annotated.AnnotationResourceFactory.setControllers   No
> methods found
> 11:04:42,820 INFO  io.milton.config.HttpManagerBuilder.securityManager Using
> securityManager: class io.milton.http.fs.NullSecurityManager
> 11:04:42,822 DEBUG
> io.milton.http.annotated.AnnotationResourceFactory.setSecurityManager
> securityManager: class io.milton.http.fs.NullSecurityManager
> 11:04:42,825 INFO  io.milton.config.HttpManagerBuilder.showLog set property:
> handlerHelper to: io.milton.http.HandlerHelper@1e69bc2
> 11:04:42,827 INFO  io.milton.config.HttpManagerBuilder.init ExpectContinue
> support has been disabled
> 11:04:42,829 INFO  io.milton.config.HttpManagerBuilder.showLog set property:
> resourceHandlerHelper to: io.milton.http.ResourceHandlerHelper@550422
> 11:04:42,831 INFO
> io.milton.ent.config.HttpManagerBuilderEnt.buildOuterResourceFactory
> buildOuterResourceFactory
> 11:04:42,835 DEBUG io.milton.http.json.JsonResourceFactory.<init> created
> with: io.milton.http.json.JsonPropFindHandler
> 11:04:42,837 INFO
> io.milton.ent.config.HttpManagerBuilderEnt.buildOuterResourceFactory Enabled
> json/ajax gatewayw with: class io.milton.http.json.JsonResourceFactory
> 11:04:42,839 INFO
> io.milton.ent.config.HttpManagerBuilderEnt.buildOuterResourceFactory Enabled
> well-known protocol support with: class
> io.milton.http.WellKnownResourceFactory
> 11:04:42,842 WARN
> io.milton.ent.config.HttpManagerBuilderEnt.buildOuterResourceFactory Using
> the default calendar search service. Calendar search functions may exhibit
> poor performance. If thats a problem implement your own: interface
> io.milton.http.caldav.CalendarSearchService
> 11:04:42,842 WARN  [io.milton.ent.config.HttpManagerBuilderEnt] (MSC service
> thread 1-1) Using the default calendar search service. Calendar search
> functions may exhibit poor performance. If thats a problem implement your
> own: interface io.milton.http.caldav.CalendarSearchService
> 11:04:42,847 INFO
> io.milton.ent.config.HttpManagerBuilderEnt.buildOuterResourceFactory Caldav
> Scheduling is enabled: class io.milton.http.caldav.SchedulingResourceFactory
> 11:04:42,853 INFO
> io.milton.ent.config.HttpManagerBuilderEnt.buildProtocolHandlers Enabled
> HTTP11 protocol
> 11:04:42,857 INFO  io.milton.http.webdav.WebDavProtocol.<init>
> resourceTypeHelper: class
> io.milton.http.carddav.AddressBookResourceTypeHelper
> 11:04:42,859 INFO  io.milton.http.webdav.WebDavProtocol.<init> no quota data
> 11:04:42,862 DEBUG io.milton.http.webdav.WebDavProtocol.<init> provided
> property sources: 2
> 11:04:42,864 DEBUG io.milton.http.webdav.WebDavProtocol.<init> adding webdav
> as a property source to: class java.util.ArrayList hashCode: 788312679
> 11:04:42,866 DEBUG io.milton.http.webdav.WebDavProtocol.addPropertySource
> adding property source: class io.milton.http.webdav.WebDavProtocol new size:
> 3
> 11:04:42,872 INFO
> io.milton.ent.config.HttpManagerBuilderEnt.buildProtocolHandlers Enabled DAV
> level 1 protocol
> 11:04:43,343 INFO
> io.milton.ent.config.HttpManagerBuilderEnt.buildProtocolHandlers Enabled DAV
> level 2 protocol
> 11:04:43,346 DEBUG io.milton.http.webdav.WebDavProtocol.addPropertySource
> adding property source: class io.milton.http.webdav2.WebDavLevel2Protocol
> new size: 4
> 11:04:43,352 DEBUG io.milton.http.webdav.WebDavProtocol.addPropertySource
> adding property source: class io.milton.http.caldav.CalDavProtocol new size:
> 5
> 11:04:43,357 INFO
> io.milton.ent.config.HttpManagerBuilderEnt.buildProtocolHandlers Add Caldav
> protocol: class io.milton.http.caldav.CalDavProtocol with resource factory:
> io.milton.http.caldav.SchedulingResourceFactory@1670332
> 11:04:43,361 DEBUG io.milton.http.acl.ACLProtocol.<init> registering the
> ACLProtocol as a property source
> 11:04:43,362 DEBUG io.milton.http.webdav.WebDavProtocol.addPropertySource
> adding property source: class io.milton.http.acl.ACLProtocol new size: 6
> 11:04:43,365 INFO
> io.milton.ent.config.HttpManagerBuilderEnt.buildProtocolHandlers Enaled ACL
> Protocol
> 11:04:43,367 DEBUG io.milton.http.webdav.WebDavProtocol.addPropertySource
> adding property source: class io.milton.http.carddav.CardDavProtocol new
> size: 7
> 11:04:43,371 INFO
> io.milton.ent.config.HttpManagerBuilderEnt.buildProtocolHandlers Enabled
> CardDav protocol
> 11:04:43,372 INFO
> io.milton.ent.config.HttpManagerBuilderEnt.buildProtocolHandlers Enabled
> well-known protocol
> 11:04:43,374 INFO  io.milton.config.HttpManagerBuilder.buildHttpManager
> Starting io.milton.http.http11.auth.ExpiredNonceRemover@147b99a this will
> remove Digest nonces from memory when they expire
> 11:04:43,377 DEBUG io.milton.http.http11.auth.ExpiredNonceRemover.start
> scheduling checks for expired nonces every 10 seconds
> -----> Sent Request to the URL from Word for the document
> 12:05:57,491 INFO  io.milton.http.HttpManager.process OPTIONS ::
> https://localhost:8443/Addm/webdav/AT.DOEng1/document/829/1.0/ -
> https://localhost:8443/Addm/webdav/AT.DOEng1/document/829/1.0/
> 12:05:57,498 INFO
> io.milton.http.annotated.AnnotationResourceFactory.getResource getResource:
> host: localhost:8443 - url:/Addm/webdav/AT.DOEng1/document/829/1.0/
> 12:05:57,507 INFO
> io.milton.http.annotated.AnnotationResourceFactory.getResource Resource not
> found: host=localhost:8443 path=/Addm/webdav/AT.DOEng1/document/829/1.0
> ---> Filter called to insert file into webdav from database.  File data
> found and byte array returned.
> 12:06:37,221 WARN  [org.hibernate.hql.internal.ast.QueryTranslatorImpl]
> (http-localhost-127.0.0.1-8443-1) HHH000104: firstResult/maxResults
> specified with collection fetch; applying in memory!
> 12:06:50,600 INFO  io.milton.http.HttpManager.process HEAD ::
> https://localhost:8443/Addm/webdav/AT.DOEng1/document/829/1.0/TestDocument.docx
> -
> https://localhost:8443/Addm/webdav/AT.DOEng1/document/829/1.0/TestDocument.docx
> 12:06:50,603 DEBUG io.milton.http.http11.GetHandler.process process
> 12:06:50,605 INFO
> io.milton.http.annotated.AnnotationResourceFactory.getResource getResource:
> host: localhost:8443 -
> url:/Addm/webdav/AT.DOEng1/document/829/1.0/TestDocument.docx
> 12:06:50,612 INFO
> io.milton.http.annotated.AnnotationResourceFactory.getResource Found
> AnnoResource: class io.milton.http.annotated.AnnoFileResource  for
> path=/Addm/webdav/AT.DOEng1/document/829/1.0/TestDocument.docx  with source:
> Document [ID=829, versionNumber=1.0, fileName=TestDocument.docx,
> fileType=document, modifiedDate=null]
> 12:08:23,340 DEBUG io.milton.http.annotated.AnnoResource.authorise
> authorise: ACL cannot be calculated so use security manager:
> io.milton.http.fs.NullSecurityManager@ae0761
> 12:08:23,353 WARN  [org.hibernate.hql.internal.ast.QueryTranslatorImpl]
> (http-localhost-127.0.0.1-8443-1) HHH000104: firstResult/maxResults
> specified with collection fetch; applying in memory!
> 12:08:23,484 WARN  [org.hibernate.hql.internal.ast.QueryTranslatorImpl]
> (http-localhost-127.0.0.1-8443-1) HHH000104: firstResult/maxResults
> specified with collection fetch; applying in memory!
> ----> Word returns message that it cannot open file specified
> ----> Authentication Handler authenticate method called
> 12:08:23,593 DEBUG io.milton.http.StandardFilter.process No response entity
> to send to client for method: HEAD
>
>
>
> --
> View this message in context: http://milton-users.96038.n3.nabble.com/Locking-Privileges-without-webDav-authentication-tp4025603p4025617.html
> Sent from the Milton Users mailing list archive at Nabble.com.
> _______________________________________________
> Milton-users mailing list
> [hidden email]
> http://lists.justthe.net/mailman/listinfo/milton-users

_______________________________________________
Milton-users mailing list
[hidden email]
http://lists.justthe.net/mailman/listinfo/milton-users
Reply | Threaded
Open this post in threaded view
|

Re: Locking/Privileges without webDav authentication

hypspecter
Unfortunately my company cannot pay you a consulting fee for this project as you are not a US citizen.  I have fixed my problem from the last time and now can show that I still am getting a null user for the purpose of locking.  Does this seem right to you or should the locking have a user from my request.setAuthorization in my AuthenticationHandler?

14:54:50,541 INFO  io.milton.http.HttpManager.process PROPFIND :: https://:8443/Addm/webdav/document/829/1.0/TestDocument.docx - https://:8443/Addm/webdav/document/829/1.0/TestDocument.docx
14:54:50,544 INFO  io.milton.http.annotated.AnnotationResourceFactory.getResource getResource: host: :8443 - url:/Addm/webdav/document/829/1.0/TestDocument.docx
14:54:50,547 INFO  io.milton.http.annotated.AnnotationResourceFactory.getResource Found AnnoResource: class io.milton.http.annotated.AnnoFileResource  for path=/Addm/webdav/document/829/1.0/TestDocument.docx  with source: Document [ID=829, versionNumber=1.0, fileName=TestDocument.docx, fileType=document, modifiedDate=null]
14:54:50,553 DEBUG io.milton.http.annotated.AnnoResource.authorise authorise: ACL cannot be calculated so use security manager: io.milton.http.fs.SimpleSecurityManager@bab83c
14:54:50,555 DEBUG io.milton.http.annotated.AnnoResource.authorise authorise: ACL cannot be calculated so use security manager: io.milton.http.fs.SimpleSecurityManager@bab83c
14:54:50,558 DEBUG io.milton.property.BeanPropertySource.getPropertyMetaData getPropertyMetaData
14:54:50,559 DEBUG io.milton.property.BeanPropertySource.getPropertyMetaData  no annotation:
14:54:50,560 DEBUG io.milton.property.BeanPropertySource.getPropertyMetaData getPropertyMetaData
14:54:50,562 DEBUG io.milton.property.BeanPropertySource.getPropertyMetaData  no annotation:
14:54:50,563 DEBUG io.milton.property.BeanPropertySource.getPropertyMetaData getPropertyMetaData
14:54:50,564 DEBUG io.milton.property.BeanPropertySource.getPropertyMetaData  no annotation:
14:54:50,566 DEBUG io.milton.property.BeanPropertySource.getPropertyMetaData getPropertyMetaData
14:54:50,567 DEBUG io.milton.property.BeanPropertySource.getPropertyMetaData  no annotation:
14:54:50,569 WARN  [org.hibernate.hql.internal.ast.QueryTranslatorImpl] (http-Snow-192.168.2.16-8443-6) HHH000104: firstResult/maxResults specified with collection fetch; applying in memory!
14:54:50,620 DEBUG io.milton.property.BeanPropertySource.getPropertyMetaData getPropertyMetaData
14:54:50,621 DEBUG io.milton.property.BeanPropertySource.getPropertyMetaData  no annotation:
14:54:50,623 DEBUG io.milton.property.BeanPropertySource.getPropertyMetaData getPropertyMetaData
14:54:50,624 DEBUG io.milton.property.BeanPropertySource.getPropertyMetaData  no annotation:
14:54:50,626 WARN  [org.hibernate.hql.internal.ast.QueryTranslatorImpl] (http-Snow-192.168.2.16-8443-6) HHH000104: firstResult/maxResults specified with collection fetch; applying in memory!
14:54:50,675 DEBUG io.milton.property.BeanPropertySource.getPropertyMetaData getPropertyMetaData
14:54:50,677 DEBUG io.milton.property.BeanPropertySource.getPropertyMetaData  no annotation:
14:54:50,678 DEBUG io.milton.http.carddav.AddressBookResourceTypeHelper.getSupportedLevels getSupportedLevels
14:54:50,680 DEBUG io.milton.http.caldav.CalendarResourceTypeHelper.getSupportedLevels getSupportedLevels
14:54:50,682 DEBUG io.milton.http.StandardFilter.process No response entity to send to client for method: PROPFIND
14:54:50,687 WARN  [org.hibernate.hql.internal.ast.QueryTranslatorImpl] (http--8443-6) HHH000104: firstResult/maxResults specified with collection fetch; applying in memory!
14:54:50,737 INFO  io.milton.http.HttpManager.process LOCK :: https://:8443/Addm/webdav/document/829/1.0/TestDocument.docx - https://:8443/Addm/webdav/document/829/1.0/TestDocument.docx
14:54:50,739 INFO  io.milton.http.annotated.AnnotationResourceFactory.getResource getResource: host: snow:8443 - url:/Addm/webdav/document/829/1.0/TestDocument.docx
14:54:50,743 INFO  io.milton.http.annotated.AnnotationResourceFactory.getResource Found AnnoResource: class io.milton.http.annotated.AnnoFileResource  for path=/Addm/webdav/document/829/1.0/TestDocument.docx  with source: Document [ID=829, versionNumber=1.0, fileName=TestDocument.docx, fileType=document, modifiedDate=null]
14:54:50,747 DEBUG io.milton.http.webdav2.LockHandler.process locking existing resource: TestDocument.docx
14:54:50,750 DEBUG io.milton.http.annotated.AnnoResource.authorise authorise: ACL cannot be calculated so use security manager: io.milton.http.fs.SimpleSecurityManager@bab83c
14:54:50,753 DEBUG io.milton.http.LockTimeout.parseTimeout ..requested timeout: Second-3600
14:54:50,803 DEBUG io.milton.http.LockInfoSaxHandler.endElement owner: ECI\tsimpson
14:54:50,805 WARN  io.milton.http.LockInfoSaxHandler.parseLockInfo resource is being locked with a null user. This won't really be locked at all...
14:54:50,805 WARN  [io.milton.http.LockInfo] (http--8443-6) resource is being locked with a null user. This won't really be locked at all...
14:54:50,807 DEBUG io.milton.http.LockInfoSaxHandler.parseLockInfo parsed lock info: scope: EXCLUSIVE, type: WRITE, owner: null, depth:INFINITY
14:54:50,809 DEBUG io.milton.http.webdav2.LockHandler.processNewLock locking: TestDocument.docx
14:54:50,811 DEBUG io.milton.http.webdav2.LockHandler.processNewLock ..locked ok: f099e311-4ad4-4c79-89ca-6e267fd0a774
14:54:50,812 WARN  io.milton.webdav.utils.LockUtils.appendOwner owner is null
14:54:50,812 WARN  [io.milton.webdav.utils.LockUtils] (http--6) owner is null
14:54:50,814 DEBUG io.milton.webdav.utils.LockUtils.appendOwner appendOwner: false - true
14:54:50,815 DEBUG io.milton.common.LogUtils.debug lock response: , <?xml version="1.0" encoding="utf-8" ?>
<d:prop  xmlns:d="DAV:"><d:lockdiscovery><d:activelock><d:locktype><d:write/></d:locktype>
<d:lockscope><d:exclusive/></d:lockscope>
<d:depth>INFINITY</d:depth>
<d:owner/><d:timeout>Second-3600</d:timeout>
<d:locktoken><d:href>opaquelocktoken:f099e311-4ad4-4c79-89ca-6e267fd0a774</d:href>
</d:locktoken><d:lockroot><d:href>https://:8443/Addm/webdav/document/829/1.0/TestDocument.docx</d:href>
</d:lockroot></d:activelock>
</d:lockdiscovery>
</d:prop>