M
MR
Hello,
I'm using the .NET 2.0 platform to created a distributed application
with a Winforms client application connecting to a web service layer. I
would like the client to be able to pass username/password auth
credentials to the web service, which could then be validated against a
local database OR, optionally, against Windows Active Directory. A flag
within the user database would determine whether a particular user is
authed against the DB or AD.
It seems trivial to implement either forms authentication or Windows
authentication, but not so trivial when you want to allow either to
work. It seems to me that the only solution is to accept the
username/password credentials from the user, encrypt them on the
client, send them to the web service layer, decrypt, then apply them.
The challenge then becomes one of managing the encryption on the
client/server, and where to store the common encryption key
information. Dropping this data into a common assembly seems dangerous,
and I'm struggling to find a better solution.
Am I overlooking a better overall approach?
- MR
I'm using the .NET 2.0 platform to created a distributed application
with a Winforms client application connecting to a web service layer. I
would like the client to be able to pass username/password auth
credentials to the web service, which could then be validated against a
local database OR, optionally, against Windows Active Directory. A flag
within the user database would determine whether a particular user is
authed against the DB or AD.
It seems trivial to implement either forms authentication or Windows
authentication, but not so trivial when you want to allow either to
work. It seems to me that the only solution is to accept the
username/password credentials from the user, encrypt them on the
client, send them to the web service layer, decrypt, then apply them.
The challenge then becomes one of managing the encryption on the
client/server, and where to store the common encryption key
information. Dropping this data into a common assembly seems dangerous,
and I'm struggling to find a better solution.
Am I overlooking a better overall approach?
- MR