What is Persist Security Info in connection string ?
My web application’s webconfig file contain following connectionstring.
In my windows service, class file contain following connectionstring.
connectionString=»Server=ServerIp;Database=databasename;MultipleActiveResultSets=True;Integrated Security=false;User >I want to add appconfig file for connection and replace above one.Does I need to mention provider name?Here is sample one which I am going to write in app.config file.
06 May 2014 23:05
Joined:
13/06/2007
Level:
Gold
Points:
21327
Persist Security Info, is one the security measure, when we set it to ‘true’ means user is allowed to access to username and password of database, and your security may be LOW in this scenario. When you Setting it to ‘false’ means you are allowed any one to access username and password of database, by default it is set to ‘false’ only, it is recommendation for production environments is to set it to ‘false’ Providers : There is no need to specify data provider cause, The System.Data.SqlClient provider is the default .NET Framework Data Provider for SQL Server Thanks Koolprasd2003 Editor, DotNetSpider MVM Microsoft MVP 2014 [ASP.NET/IIS]
06 May 2014 23:27
Joined:
28/06/2007
Level:
Diamond
Points:
56294
Multiple Active Result Sets (MARS) is a feature that allows the execution of multiple batches on a single connection. In previous versions, only one batch could be executed at a time against a single connection. Executing multiple batches with MARS does not imply simultaneous execution of operations.
Please refer below MSDN article for more details
msdn.microsoft.com/en-us/library/h32h3abf(v=vs.110).aspx Thanks & Regards Anil Kumar Pandey Microsoft MVP, DNS MVM
06 May 2014 23:33
Joined:
12/11/2009
Level:
Gold
Points:
43848
Persist Security Info is set to false by default which means .NET framework data Provider for SQL Server does not return the password in a connection string. If you want to return the password in a connection string then you need to set Persist Security Info to true.
You can read more about this from MSDN: msdn.microsoft.com/en-us/library/system.data.sqlclient.sqlconnection.connectionstring%28v=vs.110%29.aspx
Your connectionstring looks good. Regards, Asheej T K
Persist Security Info Property=true and Persist Security Info Property=false
Can you tell me what is the difference between them, and if I don’t put it in my connection what will happen?
connect.ConnectionString = "Provider=Microsoft.ACE.OLEDB.12.0; Data Source=C:/Users/Nourah/Downloads /Phase3/Salary.accdb; Persist Security Info=False;";
3,551 28 28 gold badges 38 38 silver badges 38 38 bronze badges
asked May 24, 2015 at 2:54
761 1 1 gold badge 5 5 silver badges 4 4 bronze badges
possible duplicate of Differance Between Persist Security Info And Integrated Security
May 24, 2015 at 3:04
but i don’t understand carefully when i applied on code , same result
May 24, 2015 at 3:56
Not sure there is any point in using Persist Security Info with ms-access
Feb 9, 2020 at 19:02
2 Answers 2
Even if you set Persist Security Info=true OR Persist Security Info=false it won’t show a difference up front. The difference is happening in the background.
When Persist Security Info=False , security-sensitive information, such as the password, is not returned as part of the connection if the connection is open or has ever been in an open state.
If you set Persist Security Info=True , Windows will remember the password specified in the connection string.
That’s the difference.
Setting Persist Security Info true or false will come into effect only if you mention username and password in the connection string. If you mention username and password in the connection string and set Persist Security Info as false then the credentials cannot be extracted, but if you set Persist Security Info as true while giving credentials in the connection string, windows will remember the credentials, and it can be extracted programmatically.
Database Connection String for ASP.net Pages
Workflow Manager uses the value of connectionStrings setting in the web.config file to connect to the Workflow Manager database from ASP.net pages.
The default value of this setting is:
The first connection string, DefaultConnectionString , is used to describe the database that needs to be connected to from ASP.net pages.
The second connection string, StandardConnectionString , is used by the Report Control in Report Center.
To modify the database connection string for ASP.net pages, perform the following steps.
To modify the database connection string for ASP.net pages:
1.
Open the wwwroot directory of the Workflow Manager installation and open web.config in a text editor.
2.
Locate the connectionStrings portion of this file.
3.
The first connection string, DefaultConnectionString , is used to describe the database that needs to be connected to from ASP.net pages. Modify this connection string by using the following syntax:
Replace the default value for Data Source with the name of the database that you want to connect to:
The Initial Catalog string is used internally by AdminStudio Enterprise Server and should not be modified.
Persist Security Info
Persist Security Info=True;
The Persist Security Info string specifies whether the connection persists (caches) the password information used while connecting, and should not be modified.
Replace the value of User ID with a valid User ID for the specified database:
Replace the value of Password with a valid password for the specified database and User ID:
Replace the default value for Data Source with the name of the database that you want to connect to:
Persist Security Info
Persist Security Info=True;
The Persist Security Info string specifies whether the connection persists (caches) the password information used while connecting, and should not be modified.
Replace the value of User ID with a valid User ID for the specified database:
Replace the value of Password with a valid password for the specified database and User ID:
Persist security info true что это
Данное руководство устарело. Актуальное руководство: по ADO.NET и работе с базами данных в .NET 6
Последнее обновление: 31.10.2015
После определения источника данных мы можем к нему подключаться. Для этого создадим проект простого консольного приложения.
Первым делом нам надо определить строку подключения, предоставляющая информацию о базе данных и сервере, к которым предстоит установить подключение:
class Program < static void Main(string[] args) < string connectionString = @"Data Source=.\SQLEXPRESS;Initial Catalog=usersdb;Integrated Security=True"; >>
При использовании различных систем управления базами данных, различных провайдеров данных .NET строка подключения может отличаться. Даже для подключения одной и той же базы данных строка подключения может меняться в зависимости от обстоятельств.
Строка подключения представляет набор параметров в виде пар ключ=значение . В данном случае для подключения к ранее созданной базе данных usersdb мы определяем строку подключения из трех параметров:
Data Source : указывает на название сервера. По умолчанию это «.\SQLEXPRESS». Поскольку в строке используется слеш, то в начале строки ставится символ @. Если имя сервера базы данных отличается, то соответственно его и надо использовать.
Initial Catalog : указывает на название базы данных на сервере
Жесткое кодирование строки подключения (то есть ее определение в коде приложения), как правило, редко используется. Гораздо более гибкий путь представляет определение ее в специальных конфигурационных файлах приложения. В проектах десктопных приложений это файл App.config , а в веб-приложениях это в основном файл Web.config . Хотя приложение также может использовать другие способы определения конфигурации.
В нашем случае, так как мы создали проект консольного приложения, то у нас в проекте должен быть файл App.config, который на данный момент имеет следующее определение:
Изменим его, добавив определение строки подключения:
Для определения всех подключений в программе в пределах узла добавляется новый узел . В этом узле определяются строки подключения с помощью элемента . Мы можем использовать в приложении множество строк подключения, и соответственно также в файле можно определить множество элементов .
Каждая строка подключения имеет название, определяемое с помощью атрибута name . В данном случае строка подключения называется «DefaultConnection». Название может быть произвольное.
Атрибут connectionString собственно хранит строку подключения, то есть весь тот текст, который мы выше определяли в методе Main. И третий атрибут providerName задает пространство имен провайдера данных. Так как мы будем подключаться к базе данных MS SQL Server, то соответственно мы будем использовать провайдер для SQL Server, функциональность которого заключена в пространстве имен System.Data.SqlClient.
Теперь получим эту строку подключения в приложении:
using System; using System.Configuration; namespace AdoNetConsoleApp < class Program < static void Main(string[] args) < //string connectionString = @"Data Source=.\SQLEXPRESS;Initial Catalog=usersdb;Integrated Security=True"; // получаем строку подключения string connectionString = ConfigurationManager.ConnectionStrings["DefaultConnection"].ConnectionString; Console.WriteLine(connectionString); Console.Read(); >> >
Прежде всего чтобы работать с конфигурацией приложения, нам надо добавить в проект библиотеку System.Configuration.dll .
С помощью объекта ConfigurationManager.ConnectionStrings[«название_строки_подключения»] мы можем получить строку подключения и использовать ее в приложении.
Параметры строки подключения
Application Name : название приложения. Может принимать в качестве значения любую строку. Значение по умолчанию: «.Net SqlClient Data Provide»
AttachDBFileName : хранит полный путь к прикрепляемой базе данных
Connect Timeout : временной период в секундах, через который ожидается установка подключения. Принимает одно из значений из интервала 0–32767. По умолчанию равно 15. В качестве альтернативного названия параметра может использоваться Connection Timeout
Data Source : название экземпляра SQL Servera, с которым будет идти взаимодействие. Это может быть название локального сервера, например, «EUGENEPC/SQLEXPRESS», либо сетевой адрес. В качестве альтернативного названия параметра можно использовать Server , Address , Addr и NetworkAddress
Encrypt : устанавливает шифрование SSL при подключении. Может принимать значения true , false , yes и no . По умолчанию значение false
Initial Catalog : хранит имя базы данных В качестве альтернативного названия параметра можно использовать Database
Integrated Security : задает режим аутентификации. Может принимать значения true , false , yes , no и sspi . По умолчанию значение false В качестве альтернативного названия параметра может использоваться Trusted_Connection
Packet Size : размер сетевого пакета в байтах. Может принимать значение, которое кратно 512. По умолчанию равно 8192
Persist Security Info : указывает, должна ли конфиденциальная информация передаваться обратно при подключении. Может принимать значения true , false , yes и no . По умолчанию значение false
Workstation ID : указывает на рабочую станцию — имя локального компьютера, на котором запущен SQL Server
Password : пароль пользователя
User ID : логин пользователя
Например,если для подключения необходим логин и пароль, то мы можем их передать в строку подключения через параметры user id и password :