Re: How to get the WindowsIdentity of the caller of my excutable?

From: Alek Davis (alek_xDOTx_davis_xATx_intel_xDOTx_com)
Date: 06/24/04

  • Next message: JD: "Issue With TripleDESCryptoServiceProvider"
    Date: Wed, 23 Jun 2004 17:21:53 -0700
    
    

    Please read my first reply. It mentions the three most obvious options I can
    suggest.

    Alek

    "Cindy Liu" <CindyLiu@discussions.microsoft.com> wrote in message
    news:2C8AFDDD-B902-4F6E-91A1-C0ADA9D023F9@microsoft.com...
    > I know it is not a good approach. Since my remoting object has to be
    hosted by Windows service, as you said that CLR does not support any
    security aspects in .NET
    > remoting objects running inside of Windows services, so the only way is to
    pass in the identity. Do you have any other way?
    >
    > Thanks,
    > Cindy
    >
    > "Alek Davis" wrote:
    >
    > > This is a very bad approach. If the user identity is passed as a method
    > > parameter, what will prevent a malicious application to call this method
    > > specifying any user it wants? If you need to know caller's identity for
    > > security reasons, you should not do this. Regarding how to detect
    caller's
    > > identity from a COM+ object, it depends how you implemented the com
    object.
    > > If it is a C/C++ application, you get the caller's identity from the
    thread
    > > context (or HTTP context). I am not sure about C#, but there must be
    lots of
    > > examples how to do this. Sorry, I haven't worked with COM+ for years, so
    I
    > > do not have an example at hand, but really this should not be difficult
    to
    > > find.
    > >
    > > Alek
    > >
    > > "Cindy Liu" <CindyLiu@discussions.microsoft.com> wrote in message
    > > news:8298CBE8-D8EB-4A05-A584-4E8A88655DBC@microsoft.com...
    > > > If COM+ can do it easily, can you tell me how?
    > > >
    > > > Since there is no way to get the identity of the caller from .Net
    remoting
    > > object hosted by Windows service, so I decide to pass the identity of
    the
    > > caller with the methods of my remoting object. The caller of my remoting
    > > object is COM+ dll and its callers are asp pages. So now I want to get
    the
    > > identity of caller from COM+.
    > > >
    > > > Thanks for your help!!!
    > > > Cindy
    > > >
    > > > "Alek Davis" wrote:
    > > >
    > > > > I am confused: which module do you want to detect the identity of
    the
    > > > > caller: COM+ DLL or remoting object hosted in a Windows service.
    COM+
    > > must
    > > > > be able to do it easily, but not the remoting object.
    > > > >
    > > > > Alek
    > > > >
    > > > > "Cindy Liu" <CindyLiu@discussions.microsoft.com> wrote in message
    > > > > news:F1F901AA-883F-4AF7-BEFE-A425BDB6A20E@microsoft.com...
    > > > > > Yes, my Windows service hosts a .Net remoting object, and I have a
    > > COM+
    > > > > dll talking to it from different computer, and a web server on the
    same
    > > box
    > > > > calling COM+ methods. Now I want to pass WondowsIdentity token from
    COM+
    > > dll
    > > > > to my Windows service. Can COM+ dll determine who is the caller, or
    my
    > > web
    > > > > server has to get the token and pass to COM+ dll?
    > > > > >
    > > > > > "Alek Davis" wrote:
    > > > > >
    > > > > > > Cindy,
    > > > > > >
    > > > > > > I assume that your Windows service encapsulates a .NET remoting
    > > object;
    > > > > > > otherwise, your question does not make much sense: a regular
    Windows
    > > > > service
    > > > > > > just runs on its own with the identity defined in the Service
    > > Control
    > > > > > > Manager (which is trivial to obtain). If my assumption is
    correct,
    > > you
    > > > > are
    > > > > > > out of luck, because CLR does not support any security aspects
    in
    > > ..NET
    > > > > > > remoting objects running inside of Windows services. You options
    > > would
    > > > > be
    > > > > > > to: (a) host your .NET remoting object in an ASP.NET application
    > > instead
    > > > > of
    > > > > > > Windows service; (b) use SSPI (I cannot comment on this, but
    there
    > > are
    > > > > some
    > > > > > > references on the Web); or (c) use a commercial product like
    > > > > GenuineChannels
    > > > > > > (see http://www.genuinechannels.com/).
    > > > > > >
    > > > > > > Alek
    > > > > > >
    > > > > > > "Cindy Liu" <CindyLiu@discussions.microsoft.com> wrote in
    message
    > > > > > > news:EE740459-E1C4-4AAE-8E5E-A6DB5C72FE27@microsoft.com...
    > > > > > > > Hi Everyone,
    > > > > > > >
    > > > > > > > I created my Windows service. I want to get the
    WindowsIdentity of
    > > the
    > > > > > > caller that calls my method in my Windows service. How do I do
    that?
    > > > > > > >
    > > > > > > > Thanks in advance!!!
    > > > > > > > Cindy
    > > > > > >
    > > > > > >
    > > > > > >
    > > > >
    > > > >
    > > > >
    > >
    > >
    > >


  • Next message: JD: "Issue With TripleDESCryptoServiceProvider"

    Relevant Pages