I'm looking into SQL Server authentication for a web based application using asp.net. All the standard literature I can find recommends using Windows authentication mode as opposed to SQL Server Authentication as this way no database passwords are sent over the network or stored in the application. However I can see a major flaw in this security model in that users will be able to effectly bypass my application and access the database directly, making edits, etc that won't get logged. My plan was to use a table that logs all activity on the system and maintains a full audit trail of the records within the system.
- I want to be 100% confident that any database access is done via my application (and hence logged) and not via any other means.
- I want to store potentially sensitve information and therefore using SQL Server Authentication is not really an option either as this would mean hard coding the database password within a code behind page which could be potentially reverse engineered and got at.