We help IT Professionals succeed at work.

Using both AUTH_USER and ServerXMLHTTP Issue

725 Views
Last Modified: 2010-05-18
I have a section of our intranet that I have removed anonymous access so I can grab the visitors network username. I have done this because some visitors have access to certain sections and forms. Plus so I can keep track of who has submitted what without having them log in (people here are tired of having to log into this or that)

On the main section of our intranet I have a page that shows the latest additions and updates. That information comes from a database that stores the page content, title and last modification of that page.

The data in that database is processed by using a combination of reading the page XMLHTTP to get the current page content and FileSystemObject to get the last mod date of that page. This process is triggered by either a form I submit after updating articles on our intranet or an included process when other data is updated. For example; when someone submits something to the company news section, part of my submit process will use XMLHTTP to read the content of that page (so it will grab what a visitor will see) and (after stripping the HTML) will save that in a database and use now() as the last mod date. I also use that DB table for searching.

So, anyway, I needed to explain all that to get to this&
On the sections of our intranet that I have anonymous access turned off the XMLHTTP does not work because ISUR (which I am guessing xmlhttp uses) is not an authenticated user and I actually get a 401 xmlHTTP.Status. Unfortunately, if I enable anonymous access (even with the authenticated access boxes checked) I am unable to grab Auth_User.

Is there a way I can have both my xmlhttp to work and also be able to grab Request.ServerVariables("AUTH_USER")?  I am using IIS 6 on a Windows 2003 server.

A screenshot of my permissions can be seen at: http://www.cumminsnorthwest.com/MiscImg/IISAccess.jpg

Here is the code I am using for my xmlhttp:
Set xmlHTTP = CreateObject("MSXML2.ServerXMLHTTP.3.0")
xmlHTTP.open "GET", "http://infopage.cummins.com/CSE/Tools/Minutes.asp", false
xmlHTTP.send()
CurrentPage = xmlHTTP.ResponseText
CurrentStatus = xmlHTTP.Status
CurrentReadiness = xmlHTTP.readyState
If CurrentStatus = 200 AND CurrentReadiness = 4 Then
   'Function that grabs title from the page
   TheTitle = GetTitle(CurrentPage)
Else
   Response.Write "Page Unavailable"
End If
Set xmlHTTP = Nothing
Response.Write "<br>" & TheTitle & "<br>"

Thanks in advance for your help,
Soren

Comment
Watch Question

Is there a way I can have both my xmlhttp to work and also be able to grab Request.ServerVariables("AUTH_USER")?  The answer to this is NO until you dont provide anonymous access turned to ON

Author

Commented:
There has to be someway to work around it or a different way to approach it.

Soren

Author

Commented:
I have it figured out. I just needed to pass a network username and password along with my xmlhttp request.
xmlHTTP.open "GET", TheURL, false, NetworkUserName, NetworkPassword

Author

Commented:
A refund works for me, especialy since I was able to figure it out myself (solution is posted in my last comment).
Unlock this solution and get a sample of our free trial.
(No credit card required)
UNLOCK SOLUTION
Unlock the solution to this question.
Thanks for using Experts Exchange.

Please provide your email to receive a sample view!

*This site is protected by reCAPTCHA and the Google Privacy Policy and Terms of Service apply.

OR

Please enter a first name

Please enter a last name

8+ characters (letters, numbers, and a symbol)

By clicking, you agree to the Terms of Use and Privacy Policy.