Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

Avoiding ASP.NET passwords in github?

I understand this question can be general but, specifically with regards to ASP.NET MVC, what's the best way to keep passwords locally but not in git/svn? My database connection string is currently in web.config -- is it best to somehow include a file in web.config that isn't in git? What do you folks do?

like image 939
Christopher Avatar asked Apr 12 '11 04:04

Christopher


2 Answers

I use Windows Auth with my databases, so the connection string contains a server name but not a username/password.

For Machines where I can't use Windows Auth, I use web.config transforms and add the web.dev.config to my .gitignore.

like image 54
Michael Stum Avatar answered Oct 17 '22 06:10

Michael Stum


Regarding Git, I would use a filter driver in order to build the right web.config out of:

  • a web.config.template file,
  • an external (encrypted) source where to look for the password.

enter image description here

On every checkout, the 'smudge' script would be the right web.config content, that way:

  • web.config remains private (only visible in your working tree)
  • common parts of the web.config which don't change often and are public information remain versioned in web.config.template.
  • the password, even encrypted, don't get replicated from repository to repository.
like image 45
VonC Avatar answered Oct 17 '22 08:10

VonC