the target model doesnt cover the scenarios when an intruder get the control of conncetion string and can have access to the tables. can you please suggest the best security practice in this scenario.
I think the Authorization model has nothing to do with the connection string.
You may store the connectionString(s) encrypted somewhere, maybe in a text file, and encrypt it at runtime (in your application).
And of-course you can set the connection string dynamically in code, as follows.
For Adapter:
You can set the connection string for a DataAccessAdapter object by using its ConnectionString property.
For SelfServicng:
you can use the DbUtils.ActualConnectionString
which sets the global connection string to use for every connection to the database. This setting overrides the connection string read from the appSettings section in the .config file. Once the setting is set, every connection to the database uses the set connection string.