PDA

View Full Version : تاثیر authentication در connection string



programmer.z
دوشنبه 16 مرداد 1391, 09:38 صبح
سلام من یه پروژه با بانکهای اطلاعاتی sql داشتم توی این پروژه کاربر خودش نام سرور و دیتابیس رو انتخاب میکنه که حل شده اما یه قسمت هم داره که باید نوع authentication رو انتخاب کنه که یا windows authentication باشه یا sql server authentication باشه. که در صورتی که دومی باشه از کاربر یوزر نیم و پسورد می خواد حالا مشکل من اینجاست که نمی دونم اگر کاربر windows رو بزنه connection string چی میشه و اگه sql server رو بزنه چی می شه.
ممنون میشم پاسخ کاملی بدی

baktash.n81@gmail.com
سه شنبه 17 مرداد 1391, 08:06 صبح
اگر کاربر بخواد از Windows Authentication استفاده کنه ... باید Username ویندوزیش توی SQL ایجاد بشه و دسترسیهای لازم بهش داده بشه ... در واقع در این حالت Connection string حاوی هیچ اطلاعاتی در خصوص کاربر نیست و فقط مشخصات سرور رو داره ...

Provider=SQLOLEDB.1;Integrated Security=SSPI;Persist Security Info=False;Initial Catalog=FST;Data Source=IT11c20

برای اینکه بهتر Connection String و اطلاعاتش رو درک کنید می تونید پسوند یه فایل text رو به UDL تبدیل کنید و اجراش کنید تنظیمات مورد نظر برای اتصال به یم بانک رو انجام بدید ... بعد فایل رو با Notepad باز کنید ... تا ببیندی CS با چه مقادیری ساخته می شه ...

programmer.z
سه شنبه 17 مرداد 1391, 11:38 صبح
خیلی ممنون از جوابتون. اما چندتا چیز هست که باید بگم من از کانکشن استرینگ خود sql استفاده می کنم. و همونطور که میدونید شکل دستوریه این نوع کانکشن به این صورت است.

Data Source=myServerAddress[.][\SQLEXPRESS];Initial Catalog=myDataBase;User Id=myUsername;Password=myPassword;Integrated Security=SSPI;
خب ما وقتی بخواهیم از طریق windows authentication وارد بشیم user td و password رو نمی نویسیم اما وقتی می خواهیم از sql server authentication اینا رو باید از کاربر بگیریم.
این درسته یا نه؟
و اگر درسته به جز اینا در هر دو حالت گزینه ی دیگه ای هم تغییر می کنه؟؟

baktash.n81@gmail.com
یک شنبه 22 مرداد 1391, 13:25 عصر
بله درسته ... فقط اینکه در SQL Authentication حتما نیازی نیست که یوزر و پسورد رو از کاربر بگیریم ممکنه توی Connection String ذخیره کرده باشیمش ...

در واقع Integrated Security هست که نوع اتصال رو مشخص می کنه ...