আমার দুটি অ্যাপ্লিকেশন রয়েছে যা সমন্বিত সুরক্ষা ব্যবহার করে। একটি Integrated Security = true
সংযোগের স্ট্রিংয়ে অন্যটি সেট করে Integrated Security = SSPI
।
ইন্টিগ্রেটেড সিকিউরিটির প্রসঙ্গে SSPI
এবং এর true
মধ্যে পার্থক্য কী ?
আমার দুটি অ্যাপ্লিকেশন রয়েছে যা সমন্বিত সুরক্ষা ব্যবহার করে। একটি Integrated Security = true
সংযোগের স্ট্রিংয়ে অন্যটি সেট করে Integrated Security = SSPI
।
ইন্টিগ্রেটেড সিকিউরিটির প্রসঙ্গে SSPI
এবং এর true
মধ্যে পার্থক্য কী ?
উত্তর:
মাইক্রোসফ্টের মতে তারা একই জিনিস।
কখন
false
, ইউজার আইডি এবং পাসওয়ার্ড সংযোগে নির্দিষ্ট করা হয়। সত্য হয়ে গেলে, বর্তমান উইন্ডোজ অ্যাকাউন্ট শংসাপত্রগুলি প্রমাণীকরণের জন্য ব্যবহৃত হয়।
স্বীকৃত মানtrue
,false
,yes
,no
, এবংsspi
(অতিমাত্রায় বাঞ্ছনীয়), যা সমতূল্যtrue
।
Integrated Security=true;
সমস্ত এসকিউএল সরবরাহকারীগুলিতে কাজ করে না, সরবরাহকারীর সাথে ব্যবহার করার সময় এটি একটি ব্যতিক্রম ছুঁড়ে দেয় OleDb
।
সুতরাং মূলত Integrated Security=SSPI;
অগ্রাধিকার দেওয়া হয় যেহেতু উভয় SQLClient
এবং OleDB
সরবরাহকারীর সাথেই কাজ করে ।
এমএসডিএন অনুসারে সিনট্যাক্সের সম্পূর্ণ সেট এখানে রয়েছে - সংযোগ স্ট্রিং সিনট্যাক্স (ADO.NET)
উইন্ডোজ প্রমাণীকরণ ব্যবহার করে
ডাটাবেস সার্ভারের সাথে সংযোগ স্থাপনের জন্য উইন্ডোজ প্রমাণীকরণ ব্যবহার করার পরামর্শ দেওয়া হয়, যা সাধারণত সংহত সুরক্ষা হিসাবে পরিচিত security উইন্ডোজ প্রমাণীকরণ নির্দিষ্ট করতে, আপনি নিম্নলিখিত সরবরাহকারীর সাথে দুটি মূল-মান জোড়া ব্যবহার করতে পারেন। এসকিউএল সার্ভারের জন্য নেট ফ্রেমওয়ার্ক:
Integrated Security = true;
Integrated Security = SSPI;
তবে কেবলমাত্র দ্বিতীয়টি ডেটা সরবরাহকারীর সাথে কাজ করে N নেট ফ্রেমওয়ার্ক OleDb । আপনি যদি সংযোগস্ট্রিংয়ের Integrated Security = true
জন্য সেট করেন তবে একটি ব্যতিক্রম ছুঁড়ে দেওয়া হবে।
ডেটা সরবরাহকারীটিতে উইন্ডোজ প্রমাণীকরণ নির্দিষ্ট করতে। ওডিবিসির জন্য নেট ফ্রেমওয়ার্ক, আপনার নীচের কী-মান জুটি ব্যবহার করা উচিত।
Trusted_Connection = yes;
অনেকেই প্রশ্ন উত্তর পেতে যদি আমরা ব্যবহার .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 সম্পাদনা করুন এখনই। নেট কোর আমরা গিথুবে এর উন্মুক্ত উত্স দেখতে পাচ্ছি! কনভার্টভ্যালুটো ইন্টিগ্রেটেডসিকিউরিটি অভ্যন্তরীণ পদ্ধতি:
ConvertValueToIntegratedSecurityInternal
। যে সম্পত্তি শুধুমাত্র সময় ব্যবহৃত প্রদানকারী করা হয় SqlClient
তাই SqlClient
, SSPI
& true
একই কিন্তু ক্লায়েন্ট যখন OleDb
বা OracleClient
। আমি ব্যাখ্যা করেছি যে stackoverflow.com/a/23637478/704008 MSDN রেফারেন্স সহ
ইন্টিগ্রেটেড সিকিউরিটি = মিথ্যা: ইউজার আইডি এবং পাসওয়ার্ড সংযোগে নির্দিষ্ট করা হয়েছে। ইন্টিগ্রেটেড সুরক্ষা = সত্য: বর্তমান উইন্ডোজ অ্যাকাউন্ট শংসাপত্রগুলি প্রমাণীকরণের জন্য ব্যবহৃত হয়।
ইন্টিগ্রেটেড সিকিউরিটি = এসএসপিআই: এটি সত্যের সমতুল্য।
আমরা সংযোগের স্ট্রিং থেকে ব্যবহারকারীর নাম এবং পাসওয়ার্ডের বৈশিষ্ট্যগুলি এড়াতে পারি এবং সংহত সুরক্ষাটি ব্যবহার করতে পারি
আমাকে দিয়ে শুরু করা যাক Integrated Security = false
false
ব্যবহারকারী আইডি এবং পাসওয়ার্ড সংযোগ স্ট্রিং নির্দিষ্ট করা হয়।
true
প্রমাণীকরণের জন্য উইন্ডোজ অ্যাকাউন্ট শংসাপত্রগুলি ব্যবহৃত হয়।
স্বীকৃত মান true
, false
, yes
, no
, এবং SSPI
।
যদি User ID
এবং Password
নিদিষ্ট করা হয় এবং ইন্টিগ্রেটেড সিকিউরিটি সেট করা হয় true
, তারপর User ID
এবং Password
এড়িয়ে যাওয়া হবে এবং ইন্টিগ্রেটেড সিকিউরিটি ব্যবহার করা হবে
নোট করুন যে সংযোগের স্ট্রিংগুলি আপনি কীভাবে এবং কীভাবে ডেটাতে সংযোগ করছেন তা সুনির্দিষ্ট । এগুলি একই ডাটাবেসে সংযুক্ত হচ্ছে তবে প্রথমটি এসকিউএল সার্ভারের জন্য .NET ফ্রেমওয়ার্ক ডেটা সরবরাহকারী ব্যবহার করছে। ইন্টিগ্রেটেড সুরক্ষা = সত্য OleDb এর জন্য কাজ করবে না।
সন্দেহ হলে ভিজ্যুয়াল স্টুডিও সার্ভার এক্সপ্লোরার ডেটা সংযোগগুলি ব্যবহার করুন।
আপনি। নেট স্ক্যালক্লিয়েন্ট লাইব্রেরিটি ব্যবহার করলেই সত্য। OLEDB ব্যবহার করার সময় এটি বৈধ নয়। যেখানে এসএসপিআই উভয় ক্ষেত্রেই বাইড করা হয় আপনি। নেট স্কেলক্লিয়েন্ট লাইব্রেরি বা ওএইলডিবি ব্যবহার করছেন।
আমার দৃষ্টিকোণ থেকে,
আপনি যদি ইন্টিগ্রেটেড সিকিউরিটি = এসএসপিআই ব্যবহার না করেন, তবে আপনাকে সংযোগের স্ট্রিংয়ে ইউজারনেম এবং পাসওয়ার্ড হার্ডকোড করতে হবে যার অর্থ "তুলনামূলকভাবে নিরাপত্তাহীন" কেননা, সমস্ত কর্মচারীর অ্যাক্সেস থাকা সত্ত্বেও প্রাক্তন কর্মচারী তথ্যটিকে দূষিতভাবে ব্যবহার করতে পারে।
Integrated Security = True
বাSSPI
একই নয়।Integrated Security=true;
সমস্ত এসকিউএল সরবরাহকারীগুলিতে কাজ করে না, সরবরাহকারীর সাথে ব্যবহার করার সময় এটি একটি ব্যতিক্রম ছুঁড়ে দেয়OleDb
। সুতরাং মূলতIntegrated Security=SSPI;
অগ্রাধিকার দেওয়া হয় যেহেতু উভয়SQLClient
এবংOleDB
সরবরাহকারীর সাথেই কাজ করে । আরও ভাল করে স্পষ্ট করার জন্য আমি একটি উত্তর যুক্ত করেছি।