We have a new customer self service community that we're trying to integrate with our existing external website. Is there a way to allow users access to community and access cases and knowledgebase without having to log in to Salesforce if they're already logged into the website? Do we need to store all user credentials on Salesforce?
See the Salesforce Communities Implementation Guide, starting on page 119, or Configure SAML for Communities. I won't include the entire text verbatim, as it's far too long for an answer here, but what follows is a summary. I suggest reading the manual for more details. You can always find the latest version by searching your favorite search engine for "Salesforce Communities Implementation Guide" or "Configure SAML for Communities" from the Help & Training window.
You can configure Single Sign On for your community, which basically means that your external website authenticates the user via SAML authentication. The SAML assertion needs to include information about the community being logged in to, and a unique identifier that will be used to determine which user is logging in. No passwords are exchanged during this process. Users can also start from the community page if they have the URL, and authentication with your external website using the credentials from that site.
It's actually pretty straightforward in most cases. For example, if you set up an Active Directory Federated Services (AD FS) server that's Internet-facing, you could have your external site and salesforce.com share the same login mechanism. If they're already logged in to the AD FS server from a previous session, they can bounce between your external site and salesforce.com seamlessly without logging in again. There's other ways you can do this as well, but it really depends on the capabilities of your external site.
If you get stuck on a specific step of this process, please feel free to ask more questions, and we'll assist you as best as we can. The documentation is already pretty explanatory, but I've found that the actual implementation can get tricky (it took me three months to get SAML working correctly the first time). There's a few tips that might help you from my previous Q&A on the topic of using AD FS with salesforce.com.