473,406 Members | 2,371 Online
Bytes | Software Development & Data Engineering Community
Post Job

Home Posts Topics Members FAQ

Join Bytes to post your question to a community of 473,406 software developers and data experts.

Accessing and displaying SSL web pages and cookies from a windows form

Hi,
I have a website that uses an ISAPI filter that will redirect anyone going
to any page on the site to an SSL login page (on a different website with
the same root domain) if they do not have the appropriate session cookie
already. After logging in on that page successfully they are given the
cookie and redirected back to the page they initially tried to go to.

I would like to create a Windows application that gets data from that
website and utilizes that SSL login form and the session cookie generated by
it. Then as the user is using the application it will make calls to the
website to get needed information, which will cause the ISAPI filter to see
that the user has that cookie.

I don't have control over the user logins or passwords or the ISAPI filter
code or SSL login page.

My question is, is it possible to display the login webpage from my
application when the application is first loaded, then to capture the cookie
after the user logs in and the data generated by the page they are
redirected back to after login. If it is, how would I go about doing that?
Also, how would my application "remember" the user's cookie so that
subsequent calls to my website to get data can authenticate the user from
the data in the cookie and also not redirect to the login page.

Thank you for any help you can give me,
Justin
Nov 20 '05 #1
9 1936
Cor
Hi Justin,

A more ASPNET question I have seldom seen.
(If you have the logical solution, than maybe we can help you with VB.net).

I think you can ask this question better in this newsgroup.

Aspnet
<news://msnews.microsoft.com/microsoft.public.dotnet.framework.aspnet>

Web interface:

<http://communities2.microsoft.com/co...s/?dg=microsof
t.public.dotnet.framework.aspnet>
I hope this helps a little bit?

Cor

"Justin Engelman" <Gl******@adelphia.net> schreef in bericht
news:Mu********************@adelphia.com...
Hi,
I have a website that uses an ISAPI filter that will redirect anyone going
to any page on the site to an SSL login page (on a different website with
the same root domain) if they do not have the appropriate session cookie
already. After logging in on that page successfully they are given the
cookie and redirected back to the page they initially tried to go to.

I would like to create a Windows application that gets data from that
website and utilizes that SSL login form and the session cookie generated by it. Then as the user is using the application it will make calls to the
website to get needed information, which will cause the ISAPI filter to see that the user has that cookie.

I don't have control over the user logins or passwords or the ISAPI filter
code or SSL login page.

My question is, is it possible to display the login webpage from my
application when the application is first loaded, then to capture the cookie after the user logs in and the data generated by the page they are
redirected back to after login. If it is, how would I go about doing that? Also, how would my application "remember" the user's cookie so that
subsequent calls to my website to get data can authenticate the user from
the data in the cookie and also not redirect to the login page.

Thank you for any help you can give me,
Justin

Nov 20 '05 #2
Hmmm, ok, perhaps I didn't explain it well enough...
I am actually creating a client/server application. The server is a
webserver running IIS and is set up already, my question is about creating
the Windows Form client (compiled to an exe) that will run on users'
machines. It needs to be able to talk to the webserver through http calls
or LoadXML calls to urls on the website in order to get data or post data to
the server. Normally I would do this through XMLDocument.LoadXML calls,
passing the url of the page I want to load (since I can set my pages up to
return XML). My problem is that any call to any page on that web site is
first redirected to a SSL login page, if a particular cookie is not present,
by an ISAPI filter installed in IIS for that site. So if I try to
programmatically get data from the website to load into a listbox control on
my Windows form the call will get redirected to the login page because the
cookie is not present instead of getting the data.

So I think what I need is the Windows Application upon load to essentially
look/act just like Internet Explorer by being able to navigate to the
website SSL login page and display that page to the user just as it would be
displayed in Internet Explorer and once the user logs in to capture and be
able to persist the cookie that the login page creates for future
programmatic calls to that website.

I also need to be able to tell in my Windows application that the user
successfully logged in by reading the cookie that is generated or the page
that the login page redirects back to.

example of my problem:
if I try making a call like
myXmlDom.LoadXML("http://whateversite.com/someData.xml"), instead of loading
someData.xml, it will get redirected to the login page and try to load that
into myXmlDom and fail because that is not properly formatted XML (and even
if it were, it would not be the data I wanted).

Am I making sense? Does this still sound like something that should be
posted in the ASP.NET group instead of here?

Thank You,
Justin
"Cor" <no*@non.com> wrote in message
news:uU******************@TK2MSFTNGP12.phx.gbl...
Hi Justin,

A more ASPNET question I have seldom seen.
(If you have the logical solution, than maybe we can help you with VB.net).
I think you can ask this question better in this newsgroup.

Aspnet
<news://msnews.microsoft.com/microsoft.public.dotnet.framework.aspnet>

Web interface:

<http://communities2.microsoft.com/co...s/?dg=microsof t.public.dotnet.framework.aspnet>
I hope this helps a little bit?

Cor

"Justin Engelman" <Gl******@adelphia.net> schreef in bericht
news:Mu********************@adelphia.com...
Hi,
I have a website that uses an ISAPI filter that will redirect anyone going to any page on the site to an SSL login page (on a different website with the same root domain) if they do not have the appropriate session cookie
already. After logging in on that page successfully they are given the
cookie and redirected back to the page they initially tried to go to.

I would like to create a Windows application that gets data from that
website and utilizes that SSL login form and the session cookie generated
by
it. Then as the user is using the application it will make calls to the
website to get needed information, which will cause the ISAPI filter to

see
that the user has that cookie.

I don't have control over the user logins or passwords or the ISAPI

filter code or SSL login page.

My question is, is it possible to display the login webpage from my
application when the application is first loaded, then to capture the

cookie
after the user logs in and the data generated by the page they are
redirected back to after login. If it is, how would I go about doing

that?
Also, how would my application "remember" the user's cookie so that
subsequent calls to my website to get data can authenticate the user from the data in the cookie and also not redirect to the login page.

Thank you for any help you can give me,
Justin


Nov 20 '05 #3
Cor
Ok Justin,

More clear but now you have to find a lot yourself, I only can give you the
tools I think you can have a look for.

The axwebbrowser to get your page and to get information from that.
microsoft webbrowser you have to set a reference for that

Getting informatation from that
mshtml you have to set a reference for that
(and not use an import because it has to many interfaces and it freezes your
IDE)

For the cookies
Httprequest

But how to do it, I would not know and I think that your question is very
special.

Cor
Nov 20 '05 #4
Actually, Justin. I understand EXACTLY what you're talking about. Why?
Because I'm trying to do the EXACT same thing.

Below is a bit of code I'm using to pull the page (however the cookies are
still a problem...looking for a solution still)

Imports SystemImports System.IO

Imports System.Net

Imports System.Threading

Imports System.Text.RegularExpressions

Imports System.Text.Encoding

Imports System.Security.Cryptography.X509Certificates
Nov 20 '05 #5
Actually, Justin. I understand EXACTLY what you're talking about. Why?
Because I'm trying to do the EXACT same thing.

Below is a bit of code I'm using to pull the page (however the cookies are
still a problem...looking for a solution still)

Imports SystemImports System.IO

Imports System.Net

Imports System.Threading

Imports System.Text.RegularExpressions

Imports System.Text.Encoding

Imports System.Security.Cryptography.X509Certificates
Nov 20 '05 #6
Ooops, accidentally submitted a half - post... anyhow. Trying to do the
EXACT same thing here, Justin.

Everything works (SSL included) *except* for the cookies. trying to figure
that one out still.

Here is the code:
Imports System
Imports System.IO
Imports System.Net
Imports System.Threading
Imports System.Text.RegularExpressions
Imports System.Text.Encoding
Imports System.Security.Cryptography.X509Certificates

Public Class TrustAllCertificatePolicy
Implements System.Net.ICertificatePolicy
Public Function CheckValidationResult(ByVal srvPoint As
System.Net.ServicePoint, ByVal certificate As
System.Security.Cryptography.X509Certificates.X509 Certificate, ByVal request
As System.Net.WebRequest, ByVal certificateProblem As Integer) _
As Boolean Implements
System.Net.ICertificatePolicy.CheckValidationResul t
Return True
End Function
End Class
Private Sub cmdGet_Click(ByVal sender As System.Object, ByVal e As
System.EventArgs) Handles cmdGet.Click
'Create(a) 'WebRequest' object with the specified url
System.Net.ServicePointManager.CertificatePolicy = New
TrustAllCertificatePolicy

Dim myWebRequest As WebRequest
'myWebRequest.Credentials = myCert.TrustAllCertificatePolicy
myWebRequest =
WebRequest.Create("https://sentri.us.nortel.com:8443/SENTRI/home.jsp")

' Send the 'WebRequest' and wait for response.
Dim myWebResponse As WebResponse
myWebResponse = myWebRequest.GetResponse()
' Call method 'GetResponseStream' to obtain stream associated with
the response object
Dim ReceiveStream As Stream
ReceiveStream = myWebResponse.GetResponseStream()

Dim encode As System.Text.Encoding
encode = GetEncoding("utf-8")

' Pipe the stream to a higher level stream reader with the required
encoding format.
Dim readStream As New StreamReader(ReceiveStream, encode)
'txtLog.Text = (ControlChars.CrLf + "Response stream received")
Dim read(1024) As [Char]

' Read 256 charcters at a time .
Dim count As Integer = readStream.Read(read, 0, 1024)
txtLog.Text = ""
'While count > 0
While readStream.Peek >= 0

' Dump the 256 characters on a string and display the string
onto the console.
Dim str As New [String](read, 0, count)
txtLog.Text = txtLog.Text & (str)
count = readStream.Read(read, 0, 1024)

End While
Dim str2 As New [String](read, 0, count)
txtLog.Text = txtLog.Text & (str2)
count = readStream.Read(read, 0, 1024)
'Console.WriteLine("")

' Release the resources of stream object.
readStream.Close()

' Release the resources of response object.
myWebResponse.Close()

End Sub
Nov 20 '05 #7
Ooops, accidentally submitted a half - post... anyhow. Trying to do the
EXACT same thing here, Justin.

Everything works (SSL included) *except* for the cookies. trying to figure
that one out still.

Here is the code:
Imports System
Imports System.IO
Imports System.Net
Imports System.Threading
Imports System.Text.RegularExpressions
Imports System.Text.Encoding
Imports System.Security.Cryptography.X509Certificates

Public Class TrustAllCertificatePolicy
Implements System.Net.ICertificatePolicy
Public Function CheckValidationResult(ByVal srvPoint As
System.Net.ServicePoint, ByVal certificate As
System.Security.Cryptography.X509Certificates.X509 Certificate, ByVal request
As System.Net.WebRequest, ByVal certificateProblem As Integer) _
As Boolean Implements
System.Net.ICertificatePolicy.CheckValidationResul t
Return True
End Function
End Class
Private Sub cmdGet_Click(ByVal sender As System.Object, ByVal e As
System.EventArgs) Handles cmdGet.Click
'Create(a) 'WebRequest' object with the specified url
System.Net.ServicePointManager.CertificatePolicy = New
TrustAllCertificatePolicy

Dim myWebRequest As WebRequest
'myWebRequest.Credentials = myCert.TrustAllCertificatePolicy
myWebRequest =
WebRequest.Create("https://sentri.us.nortel.com:8443/SENTRI/home.jsp")

' Send the 'WebRequest' and wait for response.
Dim myWebResponse As WebResponse
myWebResponse = myWebRequest.GetResponse()
' Call method 'GetResponseStream' to obtain stream associated with
the response object
Dim ReceiveStream As Stream
ReceiveStream = myWebResponse.GetResponseStream()

Dim encode As System.Text.Encoding
encode = GetEncoding("utf-8")

' Pipe the stream to a higher level stream reader with the required
encoding format.
Dim readStream As New StreamReader(ReceiveStream, encode)
'txtLog.Text = (ControlChars.CrLf + "Response stream received")
Dim read(1024) As [Char]

' Read 256 charcters at a time .
Dim count As Integer = readStream.Read(read, 0, 1024)
txtLog.Text = ""
'While count > 0
While readStream.Peek >= 0

' Dump the 256 characters on a string and display the string
onto the console.
Dim str As New [String](read, 0, count)
txtLog.Text = txtLog.Text & (str)
count = readStream.Read(read, 0, 1024)

End While
Dim str2 As New [String](read, 0, count)
txtLog.Text = txtLog.Text & (str2)
count = readStream.Read(read, 0, 1024)
'Console.WriteLine("")

' Release the resources of stream object.
readStream.Close()

' Release the resources of response object.
myWebResponse.Close()

End Sub
Nov 20 '05 #8
Actually, Justin. I understand EXACTLY what you're talking about. Why?
Because I'm trying to do the EXACT same thing.

Below is a bit of code I'm using to pull the page (however the cookies are
still a problem...looking for a solution still)

Imports SystemImports System.IO

Imports System.Net

Imports System.Threading

Imports System.Text.RegularExpressions

Imports System.Text.Encoding

Imports System.Security.Cryptography.X509Certificates
Nov 20 '05 #9
Ooops, accidentally submitted a half - post... anyhow. Trying to do the
EXACT same thing here, Justin.

Everything works (SSL included) *except* for the cookies. trying to figure
that one out still.

Here is the code:
Imports System
Imports System.IO
Imports System.Net
Imports System.Threading
Imports System.Text.RegularExpressions
Imports System.Text.Encoding
Imports System.Security.Cryptography.X509Certificates

Public Class TrustAllCertificatePolicy
Implements System.Net.ICertificatePolicy
Public Function CheckValidationResult(ByVal srvPoint As
System.Net.ServicePoint, ByVal certificate As
System.Security.Cryptography.X509Certificates.X509 Certificate, ByVal request
As System.Net.WebRequest, ByVal certificateProblem As Integer) _
As Boolean Implements
System.Net.ICertificatePolicy.CheckValidationResul t
Return True
End Function
End Class
Private Sub cmdGet_Click(ByVal sender As System.Object, ByVal e As
System.EventArgs) Handles cmdGet.Click
'Create(a) 'WebRequest' object with the specified url
System.Net.ServicePointManager.CertificatePolicy = New
TrustAllCertificatePolicy

Dim myWebRequest As WebRequest
'myWebRequest.Credentials = myCert.TrustAllCertificatePolicy
myWebRequest =
WebRequest.Create("https://sentri.us.nortel.com:8443/SENTRI/home.jsp")

' Send the 'WebRequest' and wait for response.
Dim myWebResponse As WebResponse
myWebResponse = myWebRequest.GetResponse()
' Call method 'GetResponseStream' to obtain stream associated with
the response object
Dim ReceiveStream As Stream
ReceiveStream = myWebResponse.GetResponseStream()

Dim encode As System.Text.Encoding
encode = GetEncoding("utf-8")

' Pipe the stream to a higher level stream reader with the required
encoding format.
Dim readStream As New StreamReader(ReceiveStream, encode)
'txtLog.Text = (ControlChars.CrLf + "Response stream received")
Dim read(1024) As [Char]

' Read 256 charcters at a time .
Dim count As Integer = readStream.Read(read, 0, 1024)
txtLog.Text = ""
'While count > 0
While readStream.Peek >= 0

' Dump the 256 characters on a string and display the string
onto the console.
Dim str As New [String](read, 0, count)
txtLog.Text = txtLog.Text & (str)
count = readStream.Read(read, 0, 1024)

End While
Dim str2 As New [String](read, 0, count)
txtLog.Text = txtLog.Text & (str2)
count = readStream.Read(read, 0, 1024)
'Console.WriteLine("")

' Release the resources of stream object.
readStream.Close()

' Release the resources of response object.
myWebResponse.Close()

End Sub
Nov 20 '05 #10

This thread has been closed and replies have been disabled. Please start a new discussion.

Similar topics

8
by: ndsoumah | last post by:
hello guys I'm trying to get access to variables I put in a session variable from another page and it fails... here's the exact situation main file page1.php
6
by: omyek | last post by:
I'm trying to mimic the browsing of a webpage using an HttpWebRequest. I've had a lot of luck with it so far, including logging into pages, posting form data, and even collecting and using cookies....
0
by: Joergen Bech | last post by:
Fairly new to ASP.NET 1.1. Getting the error below when running application on a web server outside of my control, but only the first time I run it: 1. After a long period of inactivity (or...
4
by: lalitha1024 | last post by:
Hi, In my Asp.net project when i am login to my site, i'll set th cookies by using below commands. Dim IdCookie As New HttpCookie("empid" ds.Tables(0).Rows(0).Item(0)) Dim FnameCookie As New...
3
by: niju | last post by:
Hi there, I have three web pages (A,B,C). I need to prevent users accessing page B and C without accessing A. What would be the best way to achieve this rule? Many Thanks Niju
9
by: McGeeky | last post by:
Is there a way to get a user control to remember its state across pages? I have a standard page layout I use with a header and footer as user controls. Each page uses the same layout by means of...
6
by: Coleen | last post by:
Hi all :-) I need to redirect to multiple pages on click of a transmit button, without redisplaying each page. This redirection is to capture session variables that are created on each page and...
5
by: RSH | last post by:
I havent been able to set a property from another class with out getting some sort of error. Can someone please tell me what I'm doing wrong here? Public Class Form1
20
by: Tim Reynolds | last post by:
Team, I am developing a web service. In testing in on my enw PC, I am expecting to see exceptions thrown appear on my browser. Instead I am getting an HTTP 500 Internal Server Error page and I am...
0
by: Charles Arthur | last post by:
How do i turn on java script on a villaon, callus and itel keypad mobile phone
0
by: emmanuelkatto | last post by:
Hi All, I am Emmanuel katto from Uganda. I want to ask what challenges you've faced while migrating a website to cloud. Please let me know. Thanks! Emmanuel
0
BarryA
by: BarryA | last post by:
What are the essential steps and strategies outlined in the Data Structures and Algorithms (DSA) roadmap for aspiring data scientists? How can individuals effectively utilize this roadmap to progress...
0
by: Hystou | last post by:
There are some requirements for setting up RAID: 1. The motherboard and BIOS support RAID configuration. 2. The motherboard has 2 or more available SATA protocol SSD/HDD slots (including MSATA, M.2...
0
marktang
by: marktang | last post by:
ONU (Optical Network Unit) is one of the key components for providing high-speed Internet services. Its primary function is to act as an endpoint device located at the user's premises. However,...
0
jinu1996
by: jinu1996 | last post by:
In today's digital age, having a compelling online presence is paramount for businesses aiming to thrive in a competitive landscape. At the heart of this digital strategy lies an intricately woven...
0
by: Hystou | last post by:
Overview: Windows 11 and 10 have less user interface control over operating system update behaviour than previous versions of Windows. In Windows 11 and 10, there is no way to turn off the Windows...
0
tracyyun
by: tracyyun | last post by:
Dear forum friends, With the development of smart home technology, a variety of wireless communication protocols have appeared on the market, such as Zigbee, Z-Wave, Wi-Fi, Bluetooth, etc. Each...
0
isladogs
by: isladogs | last post by:
The next Access Europe User Group meeting will be on Wednesday 1 May 2024 starting at 18:00 UK time (6PM UTC+1) and finishing by 19:30 (7.30PM). In this session, we are pleased to welcome a new...

By using Bytes.com and it's services, you agree to our Privacy Policy and Terms of Use.

To disable or enable advertisements and analytics tracking please visit the manage ads & tracking page.