ইন্টিগ্রেটেড সিকিউরিটি = ট্রু এবং ইন্টিগ্রেটেড সিকিউরিটি = এসএসপিআইয়ের মধ্যে পার্থক্য কী?


531

আমার দুটি অ্যাপ্লিকেশন রয়েছে যা সমন্বিত সুরক্ষা ব্যবহার করে। একটি Integrated Security = trueসংযোগের স্ট্রিংয়ে অন্যটি সেট করে Integrated Security = SSPI

ইন্টিগ্রেটেড সিকিউরিটির প্রসঙ্গে SSPIএবং এর trueমধ্যে পার্থক্য কী ?


70
গৃহীত উত্তরটি সর্বোত্তম নয়, এটি পুরোপুরি সঠিকও নয়। Integrated Security = Trueবা SSPIএকই নয়। Integrated Security=true;সমস্ত এসকিউএল সরবরাহকারীগুলিতে কাজ করে না, সরবরাহকারীর সাথে ব্যবহার করার সময় এটি একটি ব্যতিক্রম ছুঁড়ে দেয় OleDb। সুতরাং মূলত Integrated Security=SSPI;অগ্রাধিকার দেওয়া হয় যেহেতু উভয় SQLClientএবং OleDBসরবরাহকারীর সাথেই কাজ করে । আরও ভাল করে স্পষ্ট করার জন্য আমি একটি উত্তর যুক্ত করেছি।
প্রণব সিং

3
@ প্রণবসিংহের সঠিক ধারণা আছে, আপনি কোন সরবরাহকারীর ব্যবহার করছেন তা নির্দিষ্ট না করে এই প্রশ্নটি অসম্পূর্ণ । বিভিন্ন সরবরাহকারী গ্রহণ করে এবং / অথবা অভ্যন্তরীণ রাজ্যে বিভিন্ন স্ট্রিং অনুবাদ করে।
চিহ্নিত করুন

যদিও সেগুলি একই, আমি বিশ্বাস করি যে কোনও একটি ওয়েবসাইটে একটি খুব পুরানো নথি ছিল, সেই সময় আমি আপনার মতো কৌতূহলী ছিলাম, যেটি বলেছিল যে আপনি যদি উইন্ডোজ মোবাইলের জন্য বিকাশ করছেন (আপনি আজ যা দেখছেন না, পুরানো ডিভাইসগুলি যা আমি ওএস প্রত্যয়টি মনে রাখবেন না যেহেতু আমার কখনই নেই), আপনার এসএসপিআই এবং ব্যবহারকারী পাসওয়ার্ড একসাথে ব্যবহার করা উচিত। তবে যেহেতু আমি কখনই একটি লিখিনি, এবং সেই দস্তাবেজের উত্সটি মনে নেই, তাই আমি এটির গ্যারান্টি দিতে পারি না।
মৃতম্যান

উত্তর:


436

মাইক্রোসফ্টের মতে তারা একই জিনিস।

কখন false, ইউজার আইডি এবং পাসওয়ার্ড সংযোগে নির্দিষ্ট করা হয়। সত্য হয়ে গেলে, বর্তমান উইন্ডোজ অ্যাকাউন্ট শংসাপত্রগুলি প্রমাণীকরণের জন্য ব্যবহৃত হয়।
স্বীকৃত মান true, false, yes, no, এবং sspi(অতিমাত্রায় বাঞ্ছনীয়), যা সমতূল্য true


28
মূলত, আমি মনে করি যে "সত্য" এনটিএলএম এবং "এসএসপিআই" ব্যবহৃত কার্বেরোস ব্যবহার করেছিল, তবে তারা এখন আদান-প্রদানের যোগ্য change
SqlRyan

5
শেষ মন্তব্যটি যাচাই করেন নি, তবে সত্য হলে উত্তর হিসাবে দেওয়া উচিত, তবে মন্তব্যটি নয়
জননি_ডি

20
@ রডনিফোলি দুঃখিত, আমার পরীক্ষাগুলি নিশ্চিত করে যে এই উত্তরটি সঠিক এবং আপনার মন্তব্য নেই। হতে পারে এটি সেভাবে একবার কাজ করেছিল তবে এখন তা হয় না এবং আপনি কোনও মাইক্রোসফ্ট ডককে আপনার মতামত সমর্থন করে এমন কোনও রেফারেন্স সরবরাহ করতে পারবেন না।
কर्क ব্রডহર્স্ট

3
কির্কের সাথে একমত হন। ব্যবহারকারী / পাসওয়ার্ড উপেক্ষা করা হয় যখন SSPI নিদিষ্ট - .net 4.0, এসকিউএল সার্ভার 2012
অ্যালেক্স দেস Pelagos

3
সুতরাং যদি তারা "একই জিনিস" হয় তবে "সত্য" বা "হ্যাঁ" এর পরিবর্তে এসএসপিআইকে কেন কঠোরভাবে সুপারিশ করা হয়? এই কারণেই আমি এই প্রশ্নে এসেছি ...
জেড কার্লোস

171

Integrated Security=true;সমস্ত এসকিউএল সরবরাহকারীগুলিতে কাজ করে না, সরবরাহকারীর সাথে ব্যবহার করার সময় এটি একটি ব্যতিক্রম ছুঁড়ে দেয় OleDb

সুতরাং মূলত Integrated Security=SSPI;অগ্রাধিকার দেওয়া হয় যেহেতু উভয় SQLClientএবং OleDBসরবরাহকারীর সাথেই কাজ করে ।

এমএসডিএন অনুসারে সিনট্যাক্সের সম্পূর্ণ সেট এখানে রয়েছে - সংযোগ স্ট্রিং সিনট্যাক্স (ADO.NET)

! [উইন্ডোজ অথ সিনট্যাক্স


73

উইন্ডোজ প্রমাণীকরণ ব্যবহার করে

ডাটাবেস সার্ভারের সাথে সংযোগ স্থাপনের জন্য উইন্ডোজ প্রমাণীকরণ ব্যবহার করার পরামর্শ দেওয়া হয়, যা সাধারণত সংহত সুরক্ষা হিসাবে পরিচিত security উইন্ডোজ প্রমাণীকরণ নির্দিষ্ট করতে, আপনি নিম্নলিখিত সরবরাহকারীর সাথে দুটি মূল-মান জোড়া ব্যবহার করতে পারেন। এসকিউএল সার্ভারের জন্য নেট ফ্রেমওয়ার্ক:

 Integrated Security = true;
 Integrated Security = SSPI;

তবে কেবলমাত্র দ্বিতীয়টি ডেটা সরবরাহকারীর সাথে কাজ করে N নেট ফ্রেমওয়ার্ক OleDb । আপনি যদি সংযোগস্ট্রিংয়ের Integrated Security = trueজন্য সেট করেন তবে একটি ব্যতিক্রম ছুঁড়ে দেওয়া হবে।

ডেটা সরবরাহকারীটিতে উইন্ডোজ প্রমাণীকরণ নির্দিষ্ট করতে। ওডিবিসির জন্য নেট ফ্রেমওয়ার্ক, আপনার নীচের কী-মান জুটি ব্যবহার করা উচিত।

Trusted_Connection = yes;

সূত্র: এমএসডিএন: সংযোগ স্ট্রিংয়ের সাথে কাজ করা


33

অনেকেই প্রশ্ন উত্তর পেতে যদি আমরা ব্যবহার .Net Reflectorপ্রকৃত কোড দেখতে SqlConnection:) trueএবং sspiএকই আছেন:

internal class DbConnectionOptions

...

internal bool ConvertValueToIntegratedSecurityInternal(string stringValue)
{
    if ((CompareInsensitiveInvariant(stringValue, "sspi") || CompareInsensitiveInvariant(stringValue, "true")) || CompareInsensitiveInvariant(stringValue, "yes"))
    {
        return true;
    }
}

...

20.02.2018 সম্পাদনা করুন এখনই। নেট কোর আমরা গিথুবে এর উন্মুক্ত উত্স দেখতে পাচ্ছি! কনভার্টভ্যালুটো ইন্টিগ্রেটেডসিকিউরিটি অভ্যন্তরীণ পদ্ধতি:

https://github.com/dotnet/corefx/blob/fdbb160aeb0fad168b3603dbdd971d568151a0c8/src/System.Data.SqlClient/src/System/Data/Common/DbConnectionOptions.cs


2
কোডটির সেই অংশটি কেবলমাত্র একটি মামলার সম্পত্তি যা নাম দ্বারা ব্যাখ্যাযোগ্য ConvertValueToIntegratedSecurityInternal। যে সম্পত্তি শুধুমাত্র সময় ব্যবহৃত প্রদানকারী করা হয় SqlClientতাই SqlClient, SSPI& trueএকই কিন্তু ক্লায়েন্ট যখন OleDbবা OracleClient। আমি ব্যাখ্যা করেছি যে stackoverflow.com/a/23637478/704008 MSDN রেফারেন্স সহ
প্রনব সিং

এখানে প্রণব এর পক্ষে ভোট দিন।
স্কট

21

ইন্টিগ্রেটেড সিকিউরিটি = মিথ্যা: ইউজার আইডি এবং পাসওয়ার্ড সংযোগে নির্দিষ্ট করা হয়েছে। ইন্টিগ্রেটেড সুরক্ষা = সত্য: বর্তমান উইন্ডোজ অ্যাকাউন্ট শংসাপত্রগুলি প্রমাণীকরণের জন্য ব্যবহৃত হয়।

ইন্টিগ্রেটেড সিকিউরিটি = এসএসপিআই: এটি সত্যের সমতুল্য।

আমরা সংযোগের স্ট্রিং থেকে ব্যবহারকারীর নাম এবং পাসওয়ার্ডের বৈশিষ্ট্যগুলি এড়াতে পারি এবং সংহত সুরক্ষাটি ব্যবহার করতে পারি


13

আমাকে দিয়ে শুরু করা যাক Integrated Security = false

false ব্যবহারকারী আইডি এবং পাসওয়ার্ড সংযোগ স্ট্রিং নির্দিষ্ট করা হয়।
true প্রমাণীকরণের জন্য উইন্ডোজ অ্যাকাউন্ট শংসাপত্রগুলি ব্যবহৃত হয়।

স্বীকৃত মান true, false, yes, no, এবং SSPI

যদি User IDএবং Passwordনিদিষ্ট করা হয় এবং ইন্টিগ্রেটেড সিকিউরিটি সেট করা হয় true, তারপর User IDএবং Passwordএড়িয়ে যাওয়া হবে এবং ইন্টিগ্রেটেড সিকিউরিটি ব্যবহার করা হবে


7

নোট করুন যে সংযোগের স্ট্রিংগুলি আপনি কীভাবে এবং কীভাবে ডেটাতে সংযোগ করছেন তা সুনির্দিষ্ট । এগুলি একই ডাটাবেসে সংযুক্ত হচ্ছে তবে প্রথমটি এসকিউএল সার্ভারের জন্য .NET ফ্রেমওয়ার্ক ডেটা সরবরাহকারী ব্যবহার করছে। ইন্টিগ্রেটেড সুরক্ষা = সত্য OleDb এর জন্য কাজ করবে না।

  • ডেটা উত্স = .; প্রাথমিক ক্যাটালগ = aspnetdb; ইন্টিগ্রেটেড সুরক্ষা = সত্য
  • সরবরাহকারী = এসকিউএলএলডিবি; ডেটা উত্স =

সন্দেহ হলে ভিজ্যুয়াল স্টুডিও সার্ভার এক্সপ্লোরার ডেটা সংযোগগুলি ব্যবহার করুন।


5

আপনি। নেট স্ক্যালক্লিয়েন্ট লাইব্রেরিটি ব্যবহার করলেই সত্য। OLEDB ব্যবহার করার সময় এটি বৈধ নয়। যেখানে এসএসপিআই উভয় ক্ষেত্রেই বাইড করা হয় আপনি। নেট স্কেলক্লিয়েন্ট লাইব্রেরি বা ওএইলডিবি ব্যবহার করছেন।



2

আমার দৃষ্টিকোণ থেকে,

আপনি যদি ইন্টিগ্রেটেড সিকিউরিটি = এসএসপিআই ব্যবহার না করেন, তবে আপনাকে সংযোগের স্ট্রিংয়ে ইউজারনেম এবং পাসওয়ার্ড হার্ডকোড করতে হবে যার অর্থ "তুলনামূলকভাবে নিরাপত্তাহীন" কেননা, সমস্ত কর্মচারীর অ্যাক্সেস থাকা সত্ত্বেও প্রাক্তন কর্মচারী তথ্যটিকে দূষিতভাবে ব্যবহার করতে পারে।


1
সংযোগের স্ট্রিং কোনও কর্মীর কাছে অগত্যা দৃশ্যমান নয়।
আন্ডারস্কোর_
আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.