Create a subclass of the WebDavServlet and deploy
it with the server side code.
William Ruberte
"Tom Keeney"
<tom.keeney@novu To: "Slide Users Mailing List"
<[EMAIL PROTECTED]>
scg.com> cc:
Subject: RE: Update user password
06/05/2002 01:51
PM
Please respond
to "Slide Users
Mailing List"
Greetings,
I discovered the reason for the Slide user password caching problem. It is
because my client code reinitializes the domain, thus creating new Stores.
I use the following code to initialize the domain from my client app:
Domain.init(/path/to/config/file);
Domain.accessNamespace();
This means that Slide has one StandardStore instance for caching and my
application has another StandardStore instance for caching. Thus, the user
password update did not stick because my client code was updating the
password in one cache and the SlideRealm/WebDAV client was checking the
password from another cache. Since I don't have much time to investigate
further, I'm going to turn off caching in Slide by forcing
AbstractServiceBase -> cacheResults() to always returns false. I'm using
Slide version 1.0.16 which has hardcoded caching so it is always on. My
question now is how do you write a client application that hooks into the
Domain that is initialized on Slide startup?
Thanks,
Tom
-----Original Message-----
From: Tom Keeney
Sent: Wednesday, May 29, 2002 6:59 PM
To: [EMAIL PROTECTED]
Subject: Update user password
Hi All,
I'm building a client application that adds and updates users in Slide. So
far, I've been able to add a user and update the "password" property in the
JDBCDescriptorStore. When I add a user, the WebDAV client "propgetall"
shows that the user properties are correctly set. However, when I update
the user "password", the new property value shows up in the database, but a
WebDAV "propgetall" does not return the new "password". How do I update
the "password" so that it is updated from a WebDAV client?
Here's the code I use to add a user. This code works fine:
// create object
ObjectNode node = new slideroles.basic.UserRoleImpl(uri);
// create object's properties
NodeRevisionDescriptor revision = new NodeRevisionDescriptor(0);
NodeProperty property = new NodeProperty("resourcetype",
"<collection/>", true);
revision.setProperty(property);
Date date = new Date();
revision.setCreationDate(date);
revision.setLastModified(date);
property = new NodeProperty("getcontentlength", "0", true);
revision.setProperty(property);
property = new NodeProperty("source", "", true);
revision.setProperty(property);
property = new NodeProperty("password", password,
NodeProperty.SLIDE_NAMESPACE);
revision.setProperty(property);
// store object
structure.create(st, node, uri);
content.create(st, uri, revision, null);
Here's code that updates the user "password" in the database but does not
update the WebDAV property:
<snippet>
// create object's properties
NodeRevisionDescriptor revision = new NodeRevisionDescriptor(0);
NodeProperty property = new NodeProperty("password", password,
NodeProperty.SLIDE_NAMESPACE);
revision.setProperty(property);
content.create(st, uri, revision, null);
</snippet>
Any help with the above <snippet> is appreciated!
Thanks,
Tom Keeney
Novus Consulting Group
--
To unsubscribe, e-mail: <mailto:[EMAIL PROTECTED]
>
For additional commands, e-mail: <mailto:[EMAIL PROTECTED]
>
--
To unsubscribe, e-mail: <mailto:[EMAIL PROTECTED]
>
For additional commands, e-mail: <mailto:[EMAIL PROTECTED]
>
--
To unsubscribe, e-mail: <mailto:[EMAIL PROTECTED]>
For additional commands, e-mail: <mailto:[EMAIL PROTECTED]>