问题
This is my first time dealing with IIS and DCOM so I apologize if I am butchering terminology:
I am trying to develop an Intranet web site and I am having fits with what I think is a permissions issue. There is a function called from a DLL referenced in the web application that reads data from several DCOM applications on the web server.
When I run the web application in the Visual Studio debugger on another computer on the network, it reads successfully. If I put the same DLL and function calls in an EXE and run it on any machine on the network, it reads successfully. I thought everything was good to go.
However, when I deploy the web site in IIS, it throws an exception when reading from only one of the DCOM applications. The other ones read successfully.
The run identity for the non-working application is shown as "The launching user" in DCOM config, while the working ones are tied to domain accounts. These are legacy applications and I cannot easily modify run identities or access permissions.
I'm guessing it has to do with the user name the IIS process is running under -- I know the Visual Studio debugger and the test EXE all run under my Windows AD credentials (which have fairly extensive privileges) when I call them, but I don't know what credentials IIS is working with.
Does anyone have suggestions on what the problem is (and how best to address it)? I want to make sure I'm heading in the right direction before I start asking for permission to modify DCOM configurations or IIS settings, neither of which I know anything about.
来源:https://stackoverflow.com/questions/28774392/dcom-iis-issues