In a "public" application, it is good practice to use a service account to access the database (run queries, executable stored procedures) and calculate user access control at the code level.
This will prevent the need to add new users to the database security manager.
The only time I saw separate SQL database accounts was to separate the functionality of the application, and even then they are service accounts. i.e.
- Grant select ReportService
- Grant select, update, delete in TransactionService
You can then launch your web application as ReportService or TransactionService based on its needs.
By combining these two concepts together (user access in code, function-discrimination for services), you can effectively test that your user access control mechanisms work. Otherwise, you need to configure the user in the database, and then see what behavior you get from the database.
source share