> -----Original Message-----
> From: Patrick Flaherty [mailto:pflah...@rampageinc.com]
> Sent: Sunday, March 24, 2013 4:15 PM
> To: Tomcat Users List
> Subject: Re: runtime.exec "cmd.exe /C net use"
>
>
> > Within your application, do you actually access the mappings by
> > letter, or by UNC?
> >
> >> The problem is after I'm up and running, I try to run "cmd.exe /C
> net
> >> use" from within the app it does not return any mapped drives. it
> >> returns:
> >> net use
> >> New connections will be remembered.
> >>
> >> There are no entries in the list.
> >>
> >
> > We understand that.  What we are trying to tell you if you want those
> > mappings to appear (regardless of whether they are already mapped or
> > not), we think you need to dynamically map them within your
> > application.  Otherwise, we think you will continue to experience the
> > situation you describe above.
> >
> >> Again, the return above happen only when running as a service  but
> >> works fine when tomcat starts from startup.bat in a console. Works
> >> fine means it returns drive letter, unc equivalent etc ... basically
> >> what you normally see when you have mapped network drives and run
> >> "net use"
> >> from cmd.exe.
> >>
> >> It make no sense I know but I'm at a loss.
> >
> > I think it makes sense (pending further information on how you
> > actually access the shares from within your application) because the
> > application is not actually using a mapped drive, but using its
> access
> > rights from a UNC.
>
> Hi Jeffrey,
>
> I think I'm getting what you might be saying. Because "net use"
> returns a drive letter in its return
> then the service cannot deal with it? To answer your question about how
> we access shares from within our app, we *have to* use UNC paths that
> already have the proper credentials provided by a common username &
> password that the service uses to login (local account with same
> username and password as an account already on the file server) So when
> the app accesses the UNC path for the first time it tries to use it's
> service login credentials which we require to exist on the file server
> with the shares. Therefore when we do our first network access the
> service login account is used to authenticate with the file server and
> because we create an account on the file server with the same username
> and password we get clean access to the shares.
> I never liked having this
> rule (service login name and password must exist on the file server
> matching exactly) but it has work for us for years. But getting back to
> net use, because drive letters are not usable by code running in the
> service, we don't get anything back from "net use"
> because part of its return is
> a drive letter? I hope I'm making sense, but is that the gist of what
> you are saying? If it is then it starts to make a lot more sense now.
>
> Thanks for hanging in there with me.
> Pat

Mappings are strictly a convention for using UNCs with drive letters (a fall 
back
to the days of Windows 3.1 and 95/98 which did not understand UNCs, and neither
did applications).  Based on your description, you are using passthrough 
authentication because you
are operating in a workgroup environment (if you were in a domain environment,
you would simply assign a domain account, and give that account the right
permissions to the share).  Your description above about authentication is
exactly right - matching accounts and passwords means transparent access to the
share.

Andre discussed this point in his last post - a service account logging in 
interactively
has a different environment than a service account logging in as a service.  
Windows is
basically ignoring any drive mappings that you specify because they were 
specified outside
of the service session.  You are gaining access because of the UNCs and the 
passthrough
authentication.

If you want to use drive mappings, you need to map them WITHIN your application 
(or service
session) to appear.  See the link in Serge's post for some ideas how to do 
this.  I think
the best method is to actually map the drives yourself within your application, 
if you can;
otherwise, set up a service that does the drive mappings, and then calls your 
Tomcat service.

If all you want to do is make the list of mappings appear in an HTML page 
(without actually using
them in your application), you can just fake the list as I discussed previously.

The key point is because the mappings are not set within the service session 
itself, you are NOT
using the mappings, only the UNCs, and they will not appear using the net use 
command within
the service.

Jeffrey Harris


This e-mail and any attachments are intended only for the use of the 
addressee(s) named herein and may contain proprietary information. If you are 
not the intended recipient of this e-mail or believe that you received this 
email in error, please take immediate action to notify the sender of the 
apparent error by reply e-mail; permanently delete the e-mail and any 
attachments from your computer; and do not disseminate, distribute, use, or 
copy this message and any attachments.

---------------------------------------------------------------------
To unsubscribe, e-mail: users-unsubscr...@tomcat.apache.org
For additional commands, e-mail: users-h...@tomcat.apache.org

Reply via email to