powered by simpleCommunicator - 2.0.57     © 2025 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / WinForms, .Net Framework [игнор отключен] [закрыт для гостей] / C# где хранить строку подключения
107 сообщений из 107, показаны все 5 страниц
C# где хранить строку подключения
    #38119611
Фотография vah
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Скажите пожалуйста, где хранить строку подключения вместе с логином/паролем после подключения к серверу базы данных?

Я имею ввиду с точки зрения ООП. Не в глобальной ведь переменной....

Заранее благодарен.
...
Рейтинг: 0 / 0
C# где хранить строку подключения
    #38119704
Arm79
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
vahгде хранить строку подключения вместе с логином/паролем

А зачем её хранить? С точки зрения ООП?
...
Рейтинг: 0 / 0
C# где хранить строку подключения
    #38119712
Фотография VSVLAD
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
vah,

Если ООП, то наверное сохранить в виде свойствах в каком нибудь классе-прослойке отвечающего за соединение с БД... Ну банально тот же public поле в статик классе
...
Рейтинг: 0 / 0
C# где хранить строку подключения
    #38119720
Фотография Где-то в степи
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
vah,
SecureString
...
Рейтинг: 0 / 0
C# где хранить строку подключения
    #38119729
Фотография vah
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
VSVLADvah,

Если ООП, то наверное сохранить в виде свойствах в каком нибудь классе-прослойке отвечающего за соединение с БД... Ну банально тот же public поле в статик классе

то, что надо, спасибо
...
Рейтинг: 0 / 0
C# где хранить строку подключения
    #38119739
Фотография МСУ
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
vahСкажите пожалуйста, где хранить строку подключения вместе с логином/паролем после подключения к серверу базы данных?
Если это сервер приложений, то хранить в конфиге. Если это десктоп приложение (клиент-серверная архитектура), то за логин и пароль в строке соединения нужно руки откручивать. Либо виндовая аутентификация, либо смотреть в сторону трехзвенки (WCF).
...
Рейтинг: 0 / 0
C# где хранить строку подключения
    #38119746
Arm79
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
МСУvahСкажите пожалуйста, где хранить строку подключения вместе с логином/паролем после подключения к серверу базы данных?
Если это сервер приложений, то хранить в конфиге. Если это десктоп приложение (клиент-серверная архитектура), то за логин и пароль в строке соединения нужно руки откручивать. Либо виндовая аутентификация, либо смотреть в сторону трехзвенки (WCF).

Во, человек все разжевал. Зря, конечно, так рано. Я надеялся, ТС немного подумает.
...
Рейтинг: 0 / 0
C# где хранить строку подключения
    #38119794
Фотография МСУ
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Arm79Во, человек все разжевал. Зря, конечно, так рано. Я надеялся, ТС немного подумает.
Не, уже поздно :)

vahто, что надо, спасибо

пришлось применять напоследок биту...
...
Рейтинг: 0 / 0
C# где хранить строку подключения
    #38119844
Фотография Antonariy
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
На десктопе удобно хранить строку в виде udl-файла.
...
Рейтинг: 0 / 0
C# где хранить строку подключения
    #38119890
Фотография МСУ
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
AntonariyНа десктопе удобно хранить строку в виде udl-файла.
Ничего удобного, тупой пережиток социализма - лишний левый файл.
...
Рейтинг: 0 / 0
C# где хранить строку подключения
    #38120097
Фотография Antonariy
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
лишний левый файлА что тогда? Реестр? В коде зашивать? Ты же так и не сказал, лишь на логин/пароль поплевал.
...
Рейтинг: 0 / 0
C# где хранить строку подключения
    #38120100
Фотография pation
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Antonariyлишний левый файлА что тогда? Реестр? В коде зашивать? Ты же так и не сказал, лишь на логин/пароль поплевал.
тебе же сказали в конфиге
...
Рейтинг: 0 / 0
C# где хранить строку подключения
    #38120104
netivan
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
pation,

а точнее 13809518
...
Рейтинг: 0 / 0
C# где хранить строку подключения
    #38120105
Фотография Где-то в степи
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
pationAntonariyпропущено...
А что тогда? Реестр? В коде зашивать? Ты же так и не сказал, лишь на логин/пароль поплевал.
тебе же сказали в конфиге
дык конфиг вроде только у веба ( это я за автора)
...
Рейтинг: 0 / 0
C# где хранить строку подключения
    #38120120
Arm79
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
AntonariyТы же так и не сказал
По моему сказали полностью

1) Клиент-сервер
Идеальный вариант - Win-аутентификация
Вариант хуже, но рабочий - Конфиг-файл.

На клиентском месте шифровать пароль нет особого смысла, тк а) можно смотреть содержимое памяти работающей программы б) перехватывать трафик между клиентом и сервером (не думаю, что там SSL/SSH)

2) Трехзвенка:
Доступ к серверу по Win-авторизации (либо защищенный канал + SecureString) + на прикладном уровне (при необходимости) имперсонализация + шифрование ConnectionStrings-секции (при необходимости)

Это ИМХО общие рекомендации. В отдельных случаях безусловно может быть по другому
...
Рейтинг: 0 / 0
C# где хранить строку подключения
    #38120129
Фотография Antonariy
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Где-то в степиpationпропущено...

тебе же сказали в конфиге
дык конфиг вроде только у веба ( это я за автора)А я и для веба предпочитаю udl при работе с ADODB (с .net-провайдерами он не работает). В конфиге пишется file name, а udl предоставляет гуй для удобной настройки.
...
Рейтинг: 0 / 0
C# где хранить строку подключения
    #38120136
Фотография Где-то в степи
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Arm79На клиентском месте шифровать пароль нет особого смысла, тк а) можно смотреть содержимое памяти работающей программы
так для этого и придумали SecureString при вводе из головы, и последующих редериктах.. не?
...
Рейтинг: 0 / 0
C# где хранить строку подключения
    #38120140
Arm79
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Antonariyudl ... с .net-провайдерами он не работает
Ну и зачем его рекомендовать? Я им пользовался в Delphi по молодости лет, пока не нашел интерфейс к так расхваленному вами гую. С тех пор все дельфовые программки сами показывали этот интерфейс и конфигурили коннекшн-стринг без лишних файлов. PromptDataSource кажется.
...
Рейтинг: 0 / 0
C# где хранить строку подключения
    #38120143
Фотография МСУ
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
netivanpation, а точнее 13809518
Детская мишура, на свалку. Я перехвачу отладчиком (аида, виндбг и иже с ними) момент, когда в SqlConnection подставится string в строке соединения.

Где-то в степидык конфиг вроде только у веба ( это я за автора)
А букварем по затылку? )

Antonariyлишний левый файлА что тогда? Реестр? В коде зашивать? Ты же так и не сказал, лишь на логин/пароль поплевал.
Я дал исчерпывающий ответ. Только так и никак иначе.
...
Рейтинг: 0 / 0
C# где хранить строку подключения
    #38120144
Фотография МСУ
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Где-то в степиArm79На клиентском месте шифровать пароль нет особого смысла, тк а) можно смотреть содержимое памяти работающей программы
так для этого и придумали SecureString при вводе из головы, и последующих редериктах.. не?
Забудь.
...
Рейтинг: 0 / 0
C# где хранить строку подключения
    #38120147
Arm79
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Где-то в степитак для этого и придумали SecureString при вводе из головы, и последующих редериктах.. не?

Не

хранить то можно, и никто не прочтет. Есть только маленькая трабла - при передаче его в Connection он должен быть открыт и строка соединения запоминается.

а при открытии коннекта в открытом виде (я про MS SQL и TDS) передается на сервер
...
Рейтинг: 0 / 0
C# где хранить строку подключения
    #38120148
Фотография Antonariy
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Arm791) Клиент-сервер
Идеальный вариант - Win-аутентификация
Вариант хуже, но рабочий - Конфиг-файл. То есть для win-авторизации конфиг-файл не нужен, я правильно понял? Где же тогда хранится имя провайдера и адрес сервера?
...
Рейтинг: 0 / 0
C# где хранить строку подключения
    #38120151
Фотография МСУ
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
AntonariyТо есть для win-авторизации конфиг-файл не нужен, я правильно понял? Где же тогда хранится имя провайдера и адрес сервера?
1. В конфиге может много что храниться, а не только строка соединения.
2. В строке соединения при вин аутентификации еще хранится имя сервера БД и имя базы и доп. настройки коннекта (пул, асинхронность, имя приложения и т.д.)
3. Для особо ранимых - можно шифровать секции нативными RSA или DPAPI ключами ( http://codearticles.ru/home/articleview/450)
...
Рейтинг: 0 / 0
C# где хранить строку подключения
    #38120154
Arm79
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
AntonariyТо есть для win-авторизации конфиг-файл не нужен, я правильно понял?
Неправильно. Нужен.
AntonariyГде же тогда хранится имя провайдера и адрес сервера?
именно там

Но! Без логина и пароля. Стоит integrated security true
...
Рейтинг: 0 / 0
C# где хранить строку подключения
    #38120156
Фотография МСУ
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
МСУ3. Для особо ранимых - можно шифровать секции нативными RSA или DPAPI ключами ( http://codearticles.ru/home/articleview/450)
Но и это не поможет, говорю. С помощью отладчика каждый второй студент сможет подломить строку соединения в момент присвоения string в SqlConnection. Посему, хранить что-то важное на клиенте (конфиг или в памяти) - бессмысленно, поломают на раз-два. Либо виндовая аутентификация, либо 3-звенка (лучше).
...
Рейтинг: 0 / 0
C# где хранить строку подключения
    #38120160
Фотография МСУ
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
МСУ3. Для особо ранимых - можно шифровать секции нативными RSA или DPAPI ключами http://codearticles.ru/home/articleview/450
Ссылка битая, http://codearticles.ru/home/articleview/450
...
Рейтинг: 0 / 0
C# где хранить строку подключения
    #38120174
Фотография Antonariy
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Arm79, МСУ

Я говорю про десктопное вин-приложение, которое напрямую коннектится к sql-серверу. Двухзвенка. С вин-авторизацией, бог с ней. Какой нахрен WebConfigurationManager? Где десктопному клиенту хранить строку подключения?
...
Рейтинг: 0 / 0
C# где хранить строку подключения
    #38120176
netivan
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
МСУ,

2. DPAPI (Data Protection API) а вот это понравилось. А то как-то огород городил с RSA)
авторКонф. файлы шифруются с помощью ключа, специфичного для машины. для всех ОС работает?
...
Рейтинг: 0 / 0
C# где хранить строку подключения
    #38120181
Arm79
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Antonariy,

Вы издеватесь? Или принципиально не читаете ответов?

Третий и последний раз - строка соединения хранится в app.config, просто идеальный вариант - когда используется Win-аутентификация. Можно и с логином/паролем, но тогда нужно исходить из того, что он легко компрометируем
...
Рейтинг: 0 / 0
C# где хранить строку подключения
    #38120182
netivan
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Antonariy,

хранить в конфиге, но шифровать вышенаписанными методами.
...
Рейтинг: 0 / 0
C# где хранить строку подключения
    #38120187
Фотография МСУ
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
AntonariyArm79, МСУ

Я говорю про десктопное вин-приложение, которое напрямую коннектится к sql-серверу. Двухзвенка. С вин-авторизацией, бог с ней. Какой нахрен WebConfigurationManager? Где десктопному клиенту хранить строку подключения?

Я тоже гооворю про десктопное. Какая разница, будет не WebConfigurationManager, а просто ConfigurationManager.
Зри в корень http://msdn.microsoft.com/ru-ru/library/system.configuration.sectioninformation.protectsection.aspx

Код: c#
1.
System.Configuration.Configuration config = ConfigurationManager.OpenExeConfiguration(ConfigurationUserLevel.None);



С конфигами в вебе и десктопе работается одинаково, не знал? :)
...
Рейтинг: 0 / 0
C# где хранить строку подключения
    #38120189
Фотография МСУ
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
netivanдля всех ОС работает?
Для всех.
...
Рейтинг: 0 / 0
C# где хранить строку подключения
    #38120196
Фотография МСУ
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
AntonariyГде десктопному клиенту хранить строку подключения?
Ты читаешь жопой? Я десятый раз повторяю - в конфиге! Но если тспользуется sql server аутентафикация, за такое нужно расстреливать на месте.
...
Рейтинг: 0 / 0
C# где хранить строку подключения
    #38120198
Фотография Antonariy
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Arm79app.configЯсно.
Заменили один левый файл другим. Только без гуя.
...
Рейтинг: 0 / 0
C# где хранить строку подключения
    #38120200
Фотография МСУ
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
AntonariyArm79app.configЯсно.
Заменили один левый файл другим. Только без гуя.
Хватит бред нести. В веб конфиге 100500 секций, в гавно-UDL только одна. Ты сравниваешь теплое с мягким.
...
Рейтинг: 0 / 0
C# где хранить строку подключения
    #38120202
Arm79
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Antonariyодин левый файл другим

Это жесть... Я даже не знаю, что сказать. Назвать левым app.config и сравнить его с малоизвестным udl...
...
Рейтинг: 0 / 0
C# где хранить строку подключения
    #38120205
Фотография МСУ
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Arm79Antonariyодин левый файл другим

Это жесть... Я даже не знаю, что сказать. Назвать левым app.config и сравнить его с малоизвестным udl...
...
Рейтинг: 0 / 0
C# где хранить строку подключения
    #38120207
Фотография МСУ
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
А если программе потребуется 10 строк соединений, это будет 10 UDL файлов? :)
...
Рейтинг: 0 / 0
C# где хранить строку подключения
    #38120225
netivan
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Antonariy,

вы его недооцениваете. Хотя общее есть - и там и там текст.
...
Рейтинг: 0 / 0
C# где хранить строку подключения
    #38120233
Arm79
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
AntonariyЗаменили один левый файл другим. Только без гуя

Вот, специально для вас постарался. Студийный Гуй с исходниками
...
Рейтинг: 0 / 0
C# где хранить строку подключения
    #38120235
Фотография МСУ
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Чему только я Antonariy не учил, но никогда не мог подумать, что придется втирать ему в моск информацию про конфиги (первый класс вторая четверть)
...
Рейтинг: 0 / 0
C# где хранить строку подключения
    #38120239
Фотография МСУ
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Arm79AntonariyЗаменили один левый файл другим. Только без гуя

Вот, специально для вас постарался. Студийный Гуй с исходниками
...
Рейтинг: 0 / 0
C# где хранить строку подключения
    #38120240
Фотография МСУ
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
...
Рейтинг: 0 / 0
C# где хранить строку подключения
    #38120269
Фотография МСУ
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Antonariy, как вообще можно не знать про конфиги? Даже маломальски унылое приложеньице использует конфиг, пусть то сайтик, веб-сервис, wcf, winforms, wpf, silverlight и т.д. Ты что-нибудь вообще (кроме хеллоуворлда) писал на .NET?
...
Рейтинг: 0 / 0
C# где хранить строку подключения
    #38120387
Фотография Antonariy
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
МСУAntonariy, как вообще можно не знать про конфиги? Даже маломальски унылое приложеньице использует конфиг, пусть то сайтик, веб-сервис, wcf, winforms, wpf, silverlight и т.д. Ты что-нибудь вообще (кроме хеллоуворлда) писал на .NET?Зацени:


Это ashx-сервер, дружащий с EF:
Код: vbnet
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
24.
25.
26.
27.
28.
29.
30.
31.
32.
33.
34.
35.
36.
37.
38.
39.
40.
41.
42.
43.
44.
45.
46.
47.
48.
49.
50.
51.
52.
53.
54.
55.
56.
57.
58.
Imports System.Web
Imports System.Web.Services
Imports TypeScriptReflect

<TSReflect(ClassTypes.ctBusinessLayer)>
Public Class Production
    Inherits Handler

    Public Function GetList(ByVal Page As Integer, ByVal Records As Integer) As Response
        Dim mResp As New Response
        Dim sSQL As String = MyBase.State.GetListSQL("ksmtProduction", "ProductionID", Page, Records, "Publish=1")
        Dim rec As List(Of ksmtProduction) = MyBase.db.Database.SqlQuery(Of ksmtProduction)(sSQL).ToList
        mResp.Rowset.rows = From v In rec Select v.Code, v.Name, v.ProductionID, v.ProdName, v.ProdOwnerForm
        Return mResp
    End Function

    Public Function SaveRecord(ByVal value As tblProduction, Optional ByVal OKPCode As String = "") As Response
        value = From v In MyBase.db.tblProduction Where v.ProductionID = value.ProductionID
        If IsDBNull(value.AddTime) Then
            value.AddTime = Now
            value.AddPassportID = MyBase.State.PassportID
        Else
            value.LastUpdate = Now
            value.UpdatePassportID = MyBase.State.PassportID
        End If
        MyBase.db.tblProduction.Add(value)
        If Len(OKPCode) > 0 Then
            If (From v In MyBase.db.ksmtCatalogueProd Where v.CatCode = OKPCode And v.ProductionID = value.ProductionID And v.ClassificatorID = 1).Count = 0 Then
                MyBase.db.tblObjectCatalogue.Add(New tblObjectCatalogue((From v In MyBase.db.tblCatalogue Where v.ClassificatorID = 1 And v.Code = OKPCode Select v.CatalogueID).Single, WIT_PRODUCTION, value.ProductionID))
            End If
        End If

        Dim mRes As New Response()
        mRes.Rowset.rows = From v In MyBase.db.tblProduction Where v.ProductionID = value.ProductionID
                  Select v.ProductionID, v.Code, v.Name
        Return mRes
    End Function
End Class

Imports TypeScriptReflect

<TSReflect(ClassTypes.ctTransport)>
Public Class Response
    Public [Rowset] As Rowset
    Public Test As String

    Public Sub New()
        Rowset = New Rowset
    End Sub
End Class

<TSReflect(ClassTypes.ctTransport)>
Public Class Rowset
    Public localRowset As Boolean
    Public entire As Integer
    Public total As Integer
    Public rows As IEnumerable(Of Object)
End Class



Это TypeScript, file1.ts. Интеллисенс и все такое:
Код: javascript
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
/// <reference path="AjaxAshxService.ts" />

function getList() {
    AjaxAshxService.Production.GetList(1, 10, function (Response: Response) {
        alert(Response.toString());
    });
}

function save() {
    var prod = new tblProduction;
    prod.ProductionID = 22;
    prod.Name = "23222222222";
    AjaxAshxService.Production.SaveRecord(prod, null, function(Response: Response) { 
        alert(Response.toString());
    });
}



Это его вызов:
Код: html
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
<!DOCTYPE html>
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8"/>
    <script src="TSApp/KSMT.edmx.js"></script>
    <script src="TSApp/AjaxAshxService.js"></script>
    <script src="TSApp/file1.js"></script>
</head>
<body>
    <h1>TypeScript HTML App</h1>
    <input type="button" value="get" onclick="getList()" />
    <input type="button" value="save" onclick="save()" />
</body>
</html>

Это 100% ручного быдлокода (не считая конфига), описывающего логику сферического ajax-приложения, причем сервер на c# будет еще лаконичнее. Все, что лежит за этими блоками, — кодогейнерация "из коробки" и сама коробка.
...
Рейтинг: 0 / 0
C# где хранить строку подключения
    #38120449
Фотография МСУ
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
AntonariyЗацени
Хрень какая-то. Ты эт к чему?
...
Рейтинг: 0 / 0
C# где хранить строку подключения
    #38120487
Фотография Antonariy
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Это я к тому, какие хэлловорлды пишу под .net. Строго типизированные серверные объекты без ручного кодирования этих типов в браузере. Чтобы быдлокодинг был менее быдл и более защищен от ошибок.

Сравни с тем, как аналогичный json формировался ранее (беременных и нервных убрать от экрана):
Код: xml
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
24.
25.
26.
27.
28.
29.
30.
31.
32.
33.
34.
35.
36.
37.
38.
39.
40.
41.
42.
43.
44.
45.
46.
47.
48.
49.
50.
51.
52.
53.
54.
55.
56.
57.
58.
59.
60.
61.
62.
63.
64.
65.
<xsl:template match="WCECOMMAND">
    "nameField":"Name",
    <xsl:choose>
        <xsl:when test=".='EDITRECORD' or .='ADDRECORD'">
            <![CDATA[
            "nameField":"Name",
            "fields":[[
	            { "field": "", "title": "ID", "width": 50, "type": "id","viewitem":"VIEWPRODUCTION" },
	            { "field": "Name", "title": "Наименование" },
              { "field": "OKPCODE", "title": "Код ОКП"
              ]]>
            <xsl:if test="string-length(//OKPCODE)!=0">
                ,"readonly":true
            </xsl:if>
            <![CDATA[
              },
	            { "field": "Code", "title": "Расширение кода ОКП" },
	            { "field": "UnitID", "title": "Единицы измерения",]]>
            <xsl:apply-templates select="/UWS/UNIT" mode="selectData"/>
            <![CDATA[
              },
	            { "field": "NormDocName", "title": "Тип нормативного документа","type":"select","data":[
                {"ID":"ГОСТ","Name":"ГОСТ"},
                {"ID":"ТУ","Name":"ТУ"},
                {"ID":"СТО","Name":"СТО"}
              ]},
	            { "field": "FileID", "title": "Нормативный документ", "type": "selector", "selectorUrl": "?WCI=FILES&WCE=LIST.PRODUCTION.]]><xsl:value-of select="/UWS/UWSHEAD/WCEVALUE"/><![CDATA["},
	            { "field": "ProducerIsSupplier", "title": "Производитель является поставщиком", "type": "checkbox" },
	            { "field": "Publish", "title": "Публиковать","type":"checkbox" },
	            { "field": "Comments", "title": "Комментарии", "type":"textarea"},
	            { "field": "Description", "title": "Описание", "type": "texteditor" }
            ]],
            "dialogTitle": "Продукция",
            "tabtitle": "Основные данные",
            "subdata":[
            ]]>
            <xsl:apply-templates select="/UWS/PRODFILES"/>
            <xsl:apply-templates select="/UWS/CATALOGUE"/>
            <xsl:apply-templates select="/UWS/PRICE"/>
            {
            "tabtitle": "Изображение",
            "HTML": "<![CDATA[<br/><form method='post' class='logo_upload' enctype='multipart/form-data' target='files_upload' action='?WCI=PRODUCTION&WCE=UPLOADIMAGE.PICTURE.]]>
            <xsl:value-of select="parent::*/WCEVALUE"/>
            <![CDATA['><center><input type='file' name='logo'/><input type='submit' value='Загрузить картинку'/><img width='160px' id='PRODUCTION_PICTURE_]]>
            <xsl:value-of select="parent::*/WCEVALUE"/>
            <![CDATA[' src='?WCI=PRODUCTION&WCE=GETIMAGE.PICTURE.]]>
            <xsl:value-of select='parent::*/WCEVALUE'/>
            <![CDATA['/></center></form>"]]>
            }],
        </xsl:when>
        <xsl:when test=".='PAGE' or .='FIND'">
            <![CDATA[
            "nameField":"Name",
            "fields":[[
              { "field": "", "title": "ID", "width": 50},
              { "field": "Code", "title": "Код", "width": 70 },
              { "field": "Name", "title": "Наименование", "width": 200 },
              { "field": "Supplier", "title": "Производитель/дистрибьютор", "width": 200 },
              { "field": "Del", "title": "Удалить", "width": 70, "align": "center", "visible": "false" }
            ]],
            "dialogTitle": "Продукция",
            ]]>
        </xsl:when>
    </xsl:choose>
</xsl:template>

...
Рейтинг: 0 / 0
C# где хранить строку подключения
    #38120532
Arm79
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Antonariyдружащий с EF
Это, безусловно, признак высокого мастерства :-)

Antonariyбеременных и нервных убрать от экрана
А чем так страшен xslt для вышеуказанных категорий граждан и неграждан?

В любом случае я так до сих пор и не пойму, как человек, умеющий пользовать ORM, не имеет понятия о файлах конфигурации?

Вы в своих сервисах/приложениях используете фреймворки логирования? NLog/log4net?
...
Рейтинг: 0 / 0
C# где хранить строку подключения
    #38120784
Фотография МСУ
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
AntonariyЭто я к тому, какие хэлловорлды пишу под .net.
Ничего сложного и необычного. Вопрос по поводу конфигов, ты где строку соединения для EF хранишь, когда выполняешь MyBase.db.Database.SqlQuery? Покажи свой web.config.

AntonariyСравни с тем, как аналогичный json формировался ранее (беременных и нервных убрать от экрана)
Оба способа имеют место на жизнь, в зависимости от ситуации. В xslt есть большой плюс - это темплейтовый декларативный движок, можно на лету без перекомпиляции кода влиять на вывод.
...
Рейтинг: 0 / 0
C# где хранить строку подключения
    #38120812
Фотография vah
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
в итоге с сделал так:


Код: c#
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
    public class conn
    {
        public static string login;
        public static string psw;
        public static string role;

        public String str_conn(String l, String p)
        {
        return "Data Source = SQL; Initial Catalog = project; User ID=" + l + "; Password=" + p + ";";    
        }
    }



Код: c#
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
        private void button2_Click(object sender, EventArgs e)
        {
            conn c=new conn();
            conn.login = textBox1.Text;
            conn.psw = textBox2.Text;

            using (SqlConnection connection = new SqlConnection(c.str_conn(conn.login, conn.psw)))
            {
                try
                {
                    SqlCommand command = new SqlCommand("select 1", connection);




Как вам такое?
...
Рейтинг: 0 / 0
C# где хранить строку подключения
    #38120891
Фотография МСУ
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
vahКак вам такое?
Отвратительно, двойка. Меняется имя базы, имя сервера, доп. параметры в строке соединения - что будешь делать?
Во-вторых, зачем какой-то костыльный класс для строки, если есть SqlConnectionStringBuilder
В-третьих, за такие именования классов и их членов - на каторгу.
В-четвертых, хранить в статике информацию о строке соединения - бить розгами по заднице.
Ну а так всё достаточно неплохо
...
Рейтинг: 0 / 0
C# где хранить строку подключения
    #38120899
Фотография Алексей К
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
МСУС помощью отладчика каждый второй студент...Я не подпущу ни одного студента к своему компьютеру.
...
Рейтинг: 0 / 0
C# где хранить строку подключения
    #38120906
Фотография МСУ
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Алексей КМСУС помощью отладчика каждый второй студент...Я не подпущу ни одного студента к своему компьютеру.
Речь не о твоем компьютере, а о компьютере пользователя, работающего с программой. Предугадывая дальнейший твой ответ - зависимость политик локального администратора и политик безопасности БД - вещи ортогонально некоррелируемые.
...
Рейтинг: 0 / 0
C# где хранить строку подключения
    #38120925
Фотография Алексей К
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
МСУАлексей Кпропущено...
Я не подпущу ни одного студента к своему компьютеру.
Речь не о твоем компьютере, а о компьютере пользователя, работающего с программой.Ни один студент с отладчиком не будет допущен к боевому клиентскому рабочему месту, хранящему в оперативной памяти строку соединения, содержащую пароль. Будем дальше упражняться в красноречии? :-)
МСУПредугадывая дальнейший твой ответ - зависимость политик локального администратора и политик безопасности БД - вещи ортогонально некоррелируемые.От политики безопасности зависят необходимые в прикладном ПО средства защиты.
...
Рейтинг: 0 / 0
C# где хранить строку подключения
    #38120935
Arm79
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
vahв итоге с сделал так:


Код: c#
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
    public class conn
    {
        public static string login;
        public static string psw;
        public static string role;

        public String str_conn(String l, String p)
        {
        return "Data Source = SQL; Initial Catalog = project; User ID=" + l + "; Password=" + p + ";";    
        }
    }




Код: c#
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
        private void button2_Click(object sender, EventArgs e)
        {
            conn c=new conn();
            conn.login = textBox1.Text;
            conn.psw = textBox2.Text;

            using (SqlConnection connection = new SqlConnection(c.str_conn(conn.login, conn.psw)))
            {
                try
                {
                    SqlCommand command = new SqlCommand("select 1", connection);





Как вам такое?

Этот код не нужно просматривать на ночь. Кошмары замучают.

1) Имена классов с большой буквы
2) Вместо открытых полей желательно свойства
3) Наименования свойств/открытых полей лучше с большой буквы
4) Наименование метода лучше CamelCase
5) Смешение стилей указания встроенных типов данных. string и String
6) в методе а) наименования параметров бессмысленны б) вообще не нужны
7) вместо конкатенации строк лучше использовать String.Format
8) нет анализа на наличие null + нужно String.IsNullOrEmpty или что-то в этом духе
9) не предусмотрен вариант win-авторизации
10) Нет проверки на допустимость значений login/password

Я перечислил то, что касается класса в общем. Теперь вообще о его целесообразности: зачем пытаться делать идиотский аналог ConnectionStringBuilder?

По второму отрывку кода:
1) Дайте осмысленное наименование кнопке
2) Вы знаете ключевое слово var? Нет необходимости явно указывать тип переменных, если там всё очевидно
3) Вместо последовательного присвоения полям значений, можно воспользоваться Object Initializer

А целесообразность прямого обращения к ADO.NET нужно уточнять уже у вас. Я лично предпочитаю пользоваться ORM. В BLToolkit есть удобные хелперы для работы с ADO.NET
...
Рейтинг: 0 / 0
C# где хранить строку подключения
    #38120943
Arm79
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Алексей КНи один студент с отладчиком не будет допущен к боевому клиентскому рабочему месту

Чем это достигается? У нас целая служба безопасности есть, куча всяких штук мониторят комп и сеть. Зато уборщицы ежедневно моют кабинеты. Оставил незаблокированным комп, и всё.
...
Рейтинг: 0 / 0
C# где хранить строку подключения
    #38120951
Фотография Antonariy
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
МСУAntonariyЭто я к тому, какие хэлловорлды пишу под .net.
Ничего сложного и необычного. Вопрос по поводу конфигов, ты где строку соединения для EF хранишь, когда выполняешь MyBase.db.Database.SqlQuery? Покажи свой web.config.Там и хранится, чоуж показывать.

Под десктоп на .net я почти не писал, в app.config не лез и напрочь забыл про его существование.

МСУОба способа имеют место на жизнь, в зависимости от ситуации.В ситуации ajax-приложения — xsl такого права не имеет. Достаточно, чтобы в каком-нибудь тексте из базы проскочила кавычка или еще какой служебный символ, все сразу летит к чертям.
...
Рейтинг: 0 / 0
C# где хранить строку подключения
    #38120957
Фотография Изопропил
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Arm79Оставил незаблокированным комп, и всё.
что, в политиках не прописана автоматическая блокировка раб места при неактивности?
...
Рейтинг: 0 / 0
C# где хранить строку подключения
    #38120967
Фотография Изопропил
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Arm797) вместо конкатенации строк лучше использовать String.Format
Код: c#
1.
SqlConnectionStringBuilder
...
Рейтинг: 0 / 0
C# где хранить строку подключения
    #38120994
Фотография vah
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Arm79,

Спасибо, буду менять
...
Рейтинг: 0 / 0
C# где хранить строку подключения
    #38120995
Фотография Алексей К
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Arm79Зато уборщицы ежедневно моют кабинеты.Уборщицу с отладчиком в кармане задержат на проходной.
Arm79Оставил незаблокированным комп, и всё.Пресекается жосткими административными мерами.
...
Рейтинг: 0 / 0
C# где хранить строку подключения
    #38121001
Arm79
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Изопропилчто, в политиках не прописана автоматическая блокировка раб места при неактивности?

у нас нет. как я понимаю, идеальных учетных политик безопасности нет вообще. Где-то нет автоматического лока, где то разрешены съемные устройства... и так далее.

Изопропил
Код: c#
1.
SqlConnectionStringBuilder



Не, это вместо всего класса. Я имею ввиду, что любую строку лучше конструировать не сложением, а форматом

то есть вместо "a=" + a.ToString() +", b=" + ba.ToString() + ",c = " + c
лучше написать String.Format("a={0}, b={1}, c={2}", a, b, c)
На мой неискушенный взгляд красивее и понятнее.
...
Рейтинг: 0 / 0
C# где хранить строку подключения
    #38121003
Arm79
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Алексей КArm79Зато уборщицы ежедневно моют кабинеты.Уборщицу с отладчиком в кармане задержат на проходной.
Arm79Оставил незаблокированным комп, и всё.Пресекается жосткими административными мерами.

Уборщик не обыскивают, отладчик - не аппаратное устройство.
Жесткие административные меры никак не отменяют человеческий фактор. Всегда можно просто забыть
...
Рейтинг: 0 / 0
C# где хранить строку подключения
    #38121086
Фотография МСУ
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Алексей КНи один студент с отладчиком не будет допущен к боевому клиентскому рабочему месту, хранящему в оперативной памяти строку соединения, содержащую пароль. Будем дальше упражняться в красноречии? :-)
А кто будет работать с программой, приведения? )

Алексей КОт политики безопасности зависят необходимые в прикладном ПО средства защиты.
Не путай ролевые политики ПО и возможность хакнуть твою систему, получив строку соединения БД от супер юзера (аля sa).
То есть достаточно иметь права локального админа, чтобы накатить дистриб. Всё, твоя база подломлена. Профит.
...
Рейтинг: 0 / 0
C# где хранить строку подключения
    #38121088
Фотография fortibransa
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Arm79Алексей Кпропущено...
Уборщицу с отладчиком в кармане задержат на проходной.
пропущено...
Пресекается жосткими административными мерами.

Уборщик не обыскивают, отладчик - не аппаратное устройство.
Жесткие административные меры никак не отменяют человеческий фактор. Всегда можно просто забыть+100500? еще можно добавить самих user-ов, они чо все такие кристальные, одни из любопытства, другие прикидываются дурачками, а сами даже очень так разбираются, user может обидется на что-нить и тд и тп
...
Рейтинг: 0 / 0
C# где хранить строку подключения
    #38121100
Фотография МСУ
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
AntonariyТам и хранится, чоуж показывать.
Ну вот. А почему UDL не использовал? :)

В ситуации ajax-приложения — xsl такого права не имеет. Достаточно, чтобы в каком-нибудь тексте из базы проскочила кавычка или еще какой служебный символ, все сразу летит к чертям.[/quot]
Не суть, какое это приложение, ajax или не ajax. Зависит от задачи, если нужно темплейты периодически изменять и создавать новые, то xslt - то, что доктор прописал. Это отличное средство для влияния на вывод.
...
Рейтинг: 0 / 0
C# где хранить строку подключения
    #38121112
Фотография МСУ
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Алексей КУборщицу с отладчиком в кармане задержат на проходной.
Отладчик будет в телефоне на флеш-карте. У вас всех задерживают с мобильниками на проходной?

Алексей КПресекается жосткими административными мерами.
Получается, какой-нибудь помощник сисадмина с правами локального админа может получить доступ к БД со платёжками, финансами и прочими проводками? Представляешь, если бы в сбере была бы такая архитектура?
...
Рейтинг: 0 / 0
C# где хранить строку подключения
    #38121113
Фотография Алексей К
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
fortibransauser может обидется на что-нитьИ своровать пароль у самого себя?
...
Рейтинг: 0 / 0
C# где хранить строку подключения
    #38121117
Фотография Алексей К
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Arm79Жесткие административные меры никак не отменяют человеческий фактор. Всегда можно просто забытьВсё зависит от их жосткости.
...
Рейтинг: 0 / 0
C# где хранить строку подключения
    #38121122
Фотография МСУ
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Как я понимаю, у Алексей К как-раз "архитектура" с супер-пользователем в строке соединения. Расстрелятьнах! (c)
Лёша, уволен! )
...
Рейтинг: 0 / 0
C# где хранить строку подключения
    #38121133
Фотография Алексей К
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
МСУАлексей КНи один студент с отладчиком не будет допущен к боевому клиентскому рабочему месту, хранящему в оперативной памяти строку соединения, содержащую пароль. Будем дальше упражняться в красноречии? :-)
А кто будет работать с программой, приведения? )Сотрудники, прошедшие соответствующий инструктаж. Главное, чтобы пароль не хранился на жостком диске.
МСУАлексей КОт политики безопасности зависят необходимые в прикладном ПО средства защиты.
Не путай ролевые политики ПО и возможность хакнуть твою систему, получив строку соединения БД от супер юзера (аля sa).
То есть достаточно иметь права локального админа, чтобы накатить дистриб. Всё, твоя база подломлена. Профит.От sa защиты нет?
...
Рейтинг: 0 / 0
C# где хранить строку подключения
    #38121140
Фотография Алексей К
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
МСУКак я понимаю, у Алексей К как-раз "архитектура" с супер-пользователем в строке соединения.Нет.
МСУРасстрелятьнах! (c) Да
МСУЛёша, уволен! )А если я сейчас начну увольнять направо-налево - кто работать будет?
...
Рейтинг: 0 / 0
C# где хранить строку подключения
    #38121141
Arm79
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Алексей КВсё зависит от их жосткости

Казнить нельзя помиловать (с)
...
Рейтинг: 0 / 0
C# где хранить строку подключения
    #38121142
Фотография МСУ
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Алексей КСотрудники, прошедшие соответствующий инструктаж. Главное, чтобы пароль не хранился на жостком диске.
Человеческий фактор впринципе исключён? :)

Алексей КМСУНе путай ролевые политики ПО и возможность хакнуть твою систему, получив строку соединения БД от супер юзера (аля sa).
То есть достаточно иметь права локального админа, чтобы накатить дистриб. Всё, твоя база подломлена. Профит.От sa защиты нет?
Причем тут защита от sa? Я тебе говорю о том, что ни в коей мере нельзя использовать сиквельную аутентификацию с супер-пользователем в топологии "двухзвенка".
...
Рейтинг: 0 / 0
C# где хранить строку подключения
    #38121144
Фотография МСУ
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Алексей, где комментарий этого? )

МСУПолучается, какой-нибудь помощник сисадмина с правами локального админа может получить доступ к БД с платёжками, финансами и прочими проводками? Представляешь, если бы в сбере была бы такая архитектура?

Жду )
...
Рейтинг: 0 / 0
C# где хранить строку подключения
    #38121146
Фотография МСУ
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Алексей КМСУКак я понимаю, у Алексей К как-раз "архитектура" с супер-пользователем в строке соединения.Нет.
А какая у тебя архитектура? ;)
...
Рейтинг: 0 / 0
C# где хранить строку подключения
    #38121149
Фотография pation
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Где-то в степиpationпропущено...

тебе же сказали в конфиге
дык конфиг вроде только у веба ( это я за автора)
да ну?
...
Рейтинг: 0 / 0
C# где хранить строку подключения
    #38121156
Фотография Алексей К
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
МСУАлексей КСотрудники, прошедшие соответствующий инструктаж. Главное, чтобы пароль не хранился на жостком диске.
Человеческий фактор впринципе исключён? :)Если всё так строго - используйте аппаратный ключ + VPN - и тогда пофиг какая там архитектура.

МСУАлексей Кпропущено...
От sa защиты нет?
Причем тут защита от sa? Я тебе говорю о том, что ни в коей мере нельзя использовать сиквельную аутентификацию с супер-пользователем в топологии "двухзвенка".Что такое супер-пользователь? sysadmin или db_owner ? Если так - то я этого не предлагал.
...
Рейтинг: 0 / 0
C# где хранить строку подключения
    #38121159
Фотография Алексей К
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
МСУАлексей Кпропущено...
Нет.
А какая у тебя архитектура? ;)В старых проектах или в новых? :-)
...
Рейтинг: 0 / 0
C# где хранить строку подключения
    #38121197
Фотография МСУ
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Алексей КМСУпропущено...

Человеческий фактор впринципе исключён? :)Если всё так строго - используйте аппаратный ключ + VPN - и тогда пофиг какая там архитектура.
Ты на вопрос так и не ответил ) Во-вторых, причем тут туннелирование, речь о соединении с БД.

Алексей КМСУпропущено...

Причем тут защита от sa? Я тебе говорю о том, что ни в коей мере нельзя использовать сиквельную аутентификацию с супер-пользователем в топологии "двухзвенка".Что такое супер-пользователь? sysadmin или db_owner ? Если так - то я этого не предлагал.
Супер пользователь БД в строке соединения приложения - это пользователь БД, который обладает достаточными правами для решения 100% задач твоего приложения (чтение, изменение, удаление и т.д.).

Алексей КМСУпропущено...

А какая у тебя архитектура? ;)В старых проектах или в новых? :-)
Начинается :) В обоих )
...
Рейтинг: 0 / 0
C# где хранить строку подключения
    #38121210
Фотография Алексей К
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
МСУАлексей Кпропущено...
Что такое супер-пользователь? sysadmin или db_owner ? Если так - то я этого не предлагал.
Супер пользователь БД в строке соединения приложения - это пользователь БД, который обладает достаточными правами для решения 100% задач твоего приложения (чтение, изменение, удаление и т.д.).Почему тогда "супер"? Просто пользователь БД, обладающий минимально необходимыми для работы правами.

МСУАлексей Кпропущено...
В старых проектах или в новых? :-)
Начинается :) В обоих )А какая разница? Мы сейчас конкретно обсуждаем классический 2-х звенный клиент-сервер.
...
Рейтинг: 0 / 0
C# где хранить строку подключения
    #38121223
Фотография МСУ
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Алексей КПочему тогда "супер"? Просто пользователь БД, обладающий минимально необходимыми для работы правами.
Наоборот, пользователь БД, обладающий максимально необходимыми для работы правами. "Супер" - в контексте приложения.
То есть, разруливание ролевыми политиками идет у тебя самим приложением на основе табличек с юзерами и ролями. Но все запросы на сервере выполняются из-под супер пользователя. Очень популярная практика, но небезопасная в контексте подломить строку соединения через дизассемблер.

МСУпропущено...

Начинается :) В обоих )А какая разница? Мы сейчас конкретно обсуждаем классический 2-х звенный клиент-сервер.[/quot]
Ответь на мой вопрос, ок? :)
...
Рейтинг: 0 / 0
C# где хранить строку подключения
    #38121253
Фотография Алексей К
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
МСУОтветь на мой вопрос, ок? :)Нет :-)

зы: Я противник использования суперпользователей в двухзвенке.
...
Рейтинг: 0 / 0
C# где хранить строку подключения
    #38121255
Фотография МСУ
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Алексей КМСУОтветь на мой вопрос, ок? :)Нет :-)
Почему?

Алексей Кзы: Я противник использования суперпользователей в двухзвенке.
А кули ты тогда насилуешь мой моцк?
...
Рейтинг: 0 / 0
C# где хранить строку подключения
    #38121261
Фотография Алексей К
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
МСУАлексей Кпропущено...
Нет :-)
Почему? Нет, значит "не использую суперпользователя в двухзвенке", а не "не хочу отвечать" :-)
...
Рейтинг: 0 / 0
C# где хранить строку подключения
    #38121273
Фотография МСУ
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Алексей КНет, значит "не использую суперпользователя в двухзвенке", а не "не хочу отвечать" :-)
Еще раз :)

Правильно ли я трактую твой ответ на свой вопрос? :)

Шапито на привалеМСУ: А какая у тебя архитектура? ;)
Алексей К: Не использую суперпользователя в двухзвенке.

Лёня, тут либо я талпаёп либо... Вообщем, объяснись!
...
Рейтинг: 0 / 0
C# где хранить строку подключения
    #38121309
Фотография Алексей К
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
МСУВообщем, объяснись!
1. Суперпользователь в 2-х звенке - зло! Этот вариант даже не рассматривается.
2. Разглашение пароля НЕсуперпользователя тоже не сулит ничего хорошего, поэтому обсуждение имеет место быть.
3. Главное - не хранить пароль на диске. Пусть пароль вводится ( с клавиатуры, электронной карты или как-то иначе ) каждый раз, как минимум при запуске программы.
4. Пароль в оперативной памяти может хранится в открытом виде. Пользователь и так знает свой пароль, а студент с дизассемблером не пройдёт!
...
Рейтинг: 0 / 0
C# где хранить строку подключения
    #38121326
Фотография МСУ
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Алексей КМСУВообщем, объяснись!
1. Суперпользователь в 2-х звенке - зло! Этот вариант даже не рассматривается.
2. Разглашение пароля НЕсуперпользователя тоже не сулит ничего хорошего, поэтому обсуждение имеет место быть.
3. Главное - не хранить пароль на диске. Пусть пароль вводится ( с клавиатуры, электронной карты или как-то иначе ) каждый раз, как минимум при запуске программы.
4. Пароль в оперативной памяти может хранится в открытом виде. Пользователь и так знает свой пароль, а студент с дизассемблером не пройдёт!
1. Ок.
2. Что это за пользователь? Речь о пользователе приложения (табличка Users, Active Directory) или это пользователь БД (сиквельный юзер)?
3. ...
4. Значит, ты меня так нихрена и не понял

Леша, еще раз, какая у тебя архитектура безопасности?

Давай сначала... Юзеры хранятся в табличке Users, так?
...
Рейтинг: 0 / 0
C# где хранить строку подключения
    #38121336
Фотография Алексей К
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
МСУДавай сначала... Юзеры хранятся в табличке Users, так?Я говорю про архитектуру, в которой юзеры хранятся в системной sysusers . Т. е. в прикладных целях используется система безопасности СУБД. Как это ещё объяснить я уже не знаю.
...
Рейтинг: 0 / 0
C# где хранить строку подключения
    #38121363
Фотография МСУ
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Алексей КМСУДавай сначала... Юзеры хранятся в табличке Users, так?Я говорю про архитектуру, в которой юзеры хранятся в системной sysusers . Т. е. в прикладных целях используется система безопасности СУБД. Как это ещё объяснить я уже не знаю.
Что мешало это сразу сказать, а не насиловать моск? ))
Кстати, вариант плохой.
...
Рейтинг: 0 / 0
C# где хранить строку подключения
    #38121484
Фотография Antonariy
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
МСУAntonariyТам и хранится, чоуж показывать.
Ну вот. А почему UDL не использовал? :)По многим причинам. EF сам строки составляет, мне нужно лишь указать сервер и базу. Еще UDL не поддерживает net-провайдеров, которыми пользуется EF, тем более в его строках есть какие-то метаданные. Соответственно, скорее всего сам EF не поддерживает udl.

МСУНе суть, какое это приложение, ajax или не ajax. Зависит от задачи, если нужно темплейты периодически изменять и создавать новые, то xslt - то, что доктор прописал. Это отличное средство для влияния на вывод.Я не точно выразился, json-приложение. В том смысле, что с сервера передаются лишь данные. Шаблоны транспорта не должны меняться, тем более часто.
...
Рейтинг: 0 / 0
C# где хранить строку подключения
    #38121536
Фотография МСУ
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
AntonariyПо многим причинам. EF сам строки составляет, мне нужно лишь указать сервер и базу. Еще UDL не поддерживает net-провайдеров, которыми пользуется EF, тем более в его строках есть какие-то метаданные. Соответственно, скорее всего сам EF не поддерживает udl.
Ну вот, сам ответил на все вопросы. UDL не способен решать разносторонние задачи, присущие конфигу. Пережиток прошлого, не более того.

AntonariyЯ не точно выразился, json-приложение. В том смысле, что с сервера передаются лишь данные. Шаблоны транспорта не должны меняться, тем более часто.
Вот именно, если шаблоны не должны меняться, тогда подход xslt - как кобыле пятое колесо, бесспорно. Тем более xslt известен своими тормозами (его еще скомпилировать и выполнить нужно). Применение xslt подхода должно быть четко обосновано, если его лепят куда ни попадя, расстрелять :)
...
Рейтинг: 0 / 0
C# где хранить строку подключения
    #38121550
Фотография vah
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
как редактировать app.config и надо ли вообще?
...
Рейтинг: 0 / 0
C# где хранить строку подключения
    #38121555
Фотография Antonariy
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
МСУНу вот, сам ответил на все вопросы. UDL не способен решать разносторонние задачи, присущие конфигу. Пережиток прошлого, не более того.Тем не менее, для двухзвенок, не решающих разносторонние задачи, не использующих 100500 соединений, .net-провайдеров и прочие современные навороты — удобно :)
...
Рейтинг: 0 / 0
C# где хранить строку подключения
    #38121615
Фотография pation
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
AntonariyМСУНу вот, сам ответил на все вопросы. UDL не способен решать разносторонние задачи, присущие конфигу. Пережиток прошлого, не более того.Тем не менее, для двухзвенок, не решающих разносторонние задачи, не использующих 100500 соединений, .net-провайдеров и прочие современные навороты — удобно :)
нет, не удобно, стандартный способ удобнее
...
Рейтинг: 0 / 0
C# где хранить строку подключения
    #38121651
Фотография Antonariy
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
pationстандартный способ удобнееПравка app.config руками удобнее?
...
Рейтинг: 0 / 0
C# где хранить строку подключения
    #38121658
Arm79
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
AntonariyПравка app.config руками удобнее?

app.config - вещь достаточно универсальная. Например, настройки WCF пишутся туда WCF Editor. Есть еще Enterprise editor. При желании этих эдиторов можно поискать сколько угодно.
...
Рейтинг: 0 / 0
C# где хранить строку подключения
    #38121712
Фотография Antonariy
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Arm79AntonariyПравка app.config руками удобнее?

app.config - вещь достаточно универсальная. Например, настройки WCF пишутся туда WCF Editor. Есть еще Enterprise editor.А в макдональдсе весело и вкусно. Но я же не с этим спорю, а с тем, что udl это неудобно в двухзвенке.

Arm79При желании этих эдиторов можно поискать сколько угодно.Таскать на флешке? Включать в дистрибутив? Зачем это нужно, если udl и так в дистрибутиве, а эдитор есть в любой винде?
...
Рейтинг: 0 / 0
C# где хранить строку подключения
    #38121807
Фотография МСУ
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
vahкак редактировать app.config и надо ли вообще?
Либо руками, либо предоставить пользователю UI, либо через ClickOnce обновлять, либо программно. В зависимости от потребности.
...
Рейтинг: 0 / 0
C# где хранить строку подключения
    #38121819
Фотография МСУ
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
AntonariyМСУНу вот, сам ответил на все вопросы. UDL не способен решать разносторонние задачи, присущие конфигу. Пережиток прошлого, не более того.Тем не менее, для двухзвенок, не решающих разносторонние задачи, не использующих 100500 соединений, .net-провайдеров и прочие современные навороты — удобно :)
Если у тебя в качестве конфигурируемых параметров одна строка соединения, то можно. Но никто не гарантирует, что завтра не появится еще что-то, что нужно конфигурить. И тебе придется менять концепцию ведения настроек. А зачем себе изначально закладывать гранату под бок, если ситуацию можно решить стандартными нативными средствами?
...
Рейтинг: 0 / 0
C# где хранить строку подключения
    #38121832
Фотография МСУ
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
AntonariyВключать в дистрибутив? Зачем это нужно, если udl и так в дистрибутиве, а эдитор есть в любой винде?
Пользователю нечего делать в конфиге или udl файле. Вся работа с пользовательскими настройками должна вестись через родной UI. Во вторых, udl не поддерживает шифрование строки соединения. В-третьих, он заточен только под одну строку соединения. В четвертых пользователь вообще ничего не должен знать о каких-то там конфигах и udl, базах, серверах и пр. Ему настройки должны приходить автоматически либо через админа. А админу не составит труда откорректировать конфиг. Следовательно, гуй udl файла не несет в себе никакой смысловой нагрузки.
...
Рейтинг: 0 / 0
C# где хранить строку подключения
    #38121932
Фотография pation
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Antonariypationстандартный способ удобнееПравка app.config руками удобнее?

да, это как правило делается 1 раз
...
Рейтинг: 0 / 0
C# где хранить строку подключения
    #38122037
Фотография vah
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Arm79Вместо открытых полей желательно свойства

почему вместо открытых полей лучше использовать свойства?
...
Рейтинг: 0 / 0
C# где хранить строку подключения
    #38122058
Фотография Абсолют
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
vahArm79Вместо открытых полей желательно свойства

почему вместо открытых полей лучше использовать свойства?

Иметь контроль над действиями с классом из вне.
...
Рейтинг: 0 / 0
C# где хранить строку подключения
    #38122076
Arm79
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
vahпочему вместо открытых полей лучше использовать свойства?

инкапсуляция , наследование, полиморфизм
...
Рейтинг: 0 / 0
C# где хранить строку подключения
    #38122121
Фотография Абсолют
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Arm79vahпочему вместо открытых полей лучше использовать свойства?

инкапсуляция , наследование, полиморфизм
Подожди, это ему еще рано.
...
Рейтинг: 0 / 0
C# где хранить строку подключения
    #38122148
Фотография МСУ
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Arm79vahпочему вместо открытых полей лучше использовать свойства?

инкапсуляция , наследование, полиморфизм

Самое вкусное забыл, байдинг.
...
Рейтинг: 0 / 0
107 сообщений из 107, показаны все 5 страниц
Форумы / WinForms, .Net Framework [игнор отключен] [закрыт для гостей] / C# где хранить строку подключения
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]