Re: Connection string information
- From: "Francois Malgreve" <francois.malgreveADgmail.com>
- Date: Fri, 4 Nov 2005 13:10:15 +0700
Well, I just decompiled the SQLConnection class.
I saw a lot of properties definned such as:
private string _userID;
private string _password;
internal string UserID
{
get
{
return _userID;
}
}
internal string Password
{
get
{
return _password;
}
}
Also I saw those values being assigned in some places:
I also saw that there was a parser in the class SQLConnectionString
inherited from DBConnectionString but my decompiler was not good enough to
decompile it completely. I can more or less read it but I cannot copy paste
it in my own class to be able to re-use it :(
It seemed that the parser stored EVERY value found from the conection string
into an Hahstable, as long as the value exists, otherwise the value will be
kept blank. Also I did not see anything that makes the parser skip some
elements. If an element exists within the connection string it parses it,
except if that element is not a proper keyword then an exception is thrown
(such as u put in passeword instead of password)
At the end of the constructor of DBConnectionString, a method
ValidateParse() is called and that method is overridden in
SQLConnectionString to set values for all properties that are in the
connection string (including passwords, user name and anything u can define
into a connection string). Of course if a property is not defined in the
connection string then the equivalent property in SQLConnectionString will
remain empty.
Well, do you have a properly decompiled version of the System.Data.dll that
you can actually recompile? I believe MS still does not publish the source
code of the Framework API, do they?
And if I could run it i am pretty sure i could retrieve the user name
password.
Last, sorry in advance to be so stubborn.
Francois.
"William (Bill) Vaughn" <billvaRemoveThis@xxxxxxxxxx> wrote in message
news:OMkEHLM4FHA.3592@xxxxxxxxxxxxxxxxxxxxxxx
> Unless the ConnectionString contains "Persist Security Info=true"
> referencing the ConnectionString assigned to a Connection won't return the
> credentials. If it is enabled, you'll have to do a string parse on the
> ConnectionString for the values. When ADO.NET assigns the ConnectionString
> to a Connection object, it parses the string and picks off key elements
> which are assigned to the Connection properties behind the scenes. Not all
> of the key/value pairs are used to set properties--the user id and
password
> are not assigned to properties.
>
> hth
>
> --
> ____________________________________
> William (Bill) Vaughn
> Author, Mentor, Consultant
> Microsoft MVP
> INETA Speaker
> www.betav.com/blog/billva
> www.betav.com
> Please reply only to the newsgroup so that others can benefit.
> This posting is provided "AS IS" with no warranties, and confers no
rights.
> __________________________________
>
> "Francois Malgreve" <francois.malgreveADgmail.com> wrote in message
> news:%23F3Gz9G4FHA.744@xxxxxxxxxxxxxxxxxxxxxxx
> > Hi,
> >
> > I would like to know how I can do to retrieve the user and password from
a
> > connection object.
> > All i see from SQLConnection is that i can access the connectionString
but
> > I
> > need to be able to access the specific user and password for that
> > connection.
> > If I parse the connection string myself i may not be able to catch the
> > values properly every times as there are many valid syntax to build a
> > connection string and I am pretty sure that I do not know all of them.
> > For example
> > "Data Source=Aron1;Initial Catalog=pubs;User Id=sa;Password=asdasd;"
> > is valid but
> > "Data Source=Aron1;Initial Catalog=pubs;User Id = sa;Password = asdasd;"
> > "Data Source=Aron1;Initial Catalog=pubs;uid=sa;Password =asdasd;"
> > "Data Source=Aron1;Initial Catalog=pubs;uid =sa;pwd=asdasd;"
> > and probably other syntaxes are valid.
> >
> > I assume that internally the SqlConnection object parses the connection
> > string and store the user and password in separate fields. Is there any
> > public method or attribuate that can do that? Or any third party
library?
> >
> > Best regards,
> >
> > Francois Malgreve.
> >
> >
>
>
.
- Follow-Ups:
- Re: Connection string information
- From: William \(Bill\) Vaughn
- Re: Connection string information
- References:
- Connection string information
- From: Francois Malgreve
- Re: Connection string information
- From: William \(Bill\) Vaughn
- Connection string information
- Prev by Date: Re: Iterating through selects - what is the best approach?
- Next by Date: Re: Iterating through selects - what is the best approach?
- Previous by thread: Re: Connection string information
- Next by thread: Re: Connection string information
- Index(es):
Relevant Pages
|