I have an asp.net site and a SharePoint 2010 site. I need to redirect users from my SharePoint site to the asp.net site without asking them for the password again?
Configure your ASP.NET web application to use Windows Integrated authentication, just like SharePoint. Furthermore, configure group policies so that the URL where your ASP.NET application is hosted is considered part of the Local Intranet. This will make IE pass the user's credentials to IIS by using Kerberos.
Alternatively, you can configure the ASP.NET application to use Claims, by setting up an STS (ADFS v2). Then configure the STS to use Windows Authentication.
You could use SharePoint's SecureStore to map credentials and pass them to the .NET site.
Another approach is configuring CLAIMs for both SharePoint and your .NET site and relay on the same IdentityProvider (such as ADFS in a Windows environment)
- use FQDN to access sp and .net site. e.g. sp.domain.com, web.domain.com
- write code run in sharepoint to write FBA cookie for current user, domain: domain.com
or you can
- config asp.net app to use NTLM
- config sharepoint to use CBA, and asp.net app use CBA, they use the same STS.
I would rely on the same authentication mechanism (eg : ntlm if you're on an intranet) and work with subdomain - as suggested above by Eric - while targeting the cookie to the top level domain name.
Alternatively, you can delegate this requirement to an external tool / system like Microsoft ISA / UAG, SiteMinder, F5 APM, EmpowerID, Oracle Identity Management, ... the biggest advantage is of course compliance with different systems / technologies and the fact that a similar solution might already be in place in your (or your target) environment, waiting for a dedicate configuration to solve this common need.