Through acquisition we have a number of products that require authentication and authorisation. The products include web sites and client side applications, the client side applications use some web services. We are a .Net shop and servers will be running Server 2008, clients will be running XP SP?? and later.
Users of the products are not part of our organisation and run from single users with a standalone pc to users in organisations running Active Directory etc.
Currently there is no common authentication or identity store and we are looking to remedy that. Our goals are:
- A single user name and password (or certificate) across all products.
- Ideally a single sign on (easy if we are launching a web site from a client app, presumably less so if a user logs onto a web site first then later launches the client side app).
- Plus the usual; robust, scalable...
Like most companies we have limited resources and a tight schedule.
One suggested path for authentication is Kerberos which is probably the ideal route for a client app to authenticate to a web service but I am less happy using it on a web site where the user would submit a user name and password and the web server would be responsible for ticketing (then storing the ticket in a cookie?). I feel that we may be better off with a single identity store and our own authentication service that takes a user name and password, compares to a sorted hash, then issues a custom, time based security token. Maybe use SqlMembershipProvider?
Thanks to anyone that has read this far. Is Kerberos the best fit for this scenario or should I be looking elsewhere? If it is not a good fit, why not?
We are also looking at AD LDS for authorisation but I think this post is long enough already...