काम पर सर्वर लोगों में से एक ने मुझे इस लिंक की ओर इशारा किया जो एक उपयोगी संदर्भ है:http://msdn.microsoft.com/en-us/library/bsz5788z%28v=vs.100%29.aspx
उन्होंने और अन्य लोगों ने मुझे विंडोज प्रमाणीकरण का उपयोग करने से हतोत्साहित किया। एक कारण यह था कि मुझे प्रत्येक नए उपयोगकर्ता को डेटाबेस में एक खाते के रूप में जोड़ना शुरू करना होगा और यह एक बड़े उपयोगकर्ता आधार के साथ बहुत बोझिल हो सकता है। साथ ही, हमारे वातावरण में जहां विभिन्न लॉग इन डोमेन से आने वाले उपयोगकर्ताओं के लिए हमारे पास क्षमता है, तो डोमेन के बीच सही ट्रस्ट और प्रमाणीकरण पथ होने के मुद्दे चलन में आते हैं।
इसलिए मैंने डेटाबेस से कनेक्ट करने के लिए विंडोज प्रमाणीकरण का उपयोग करने की कोशिश करना बंद कर दिया, और एमवीसी एप्लिकेशन में उपयोग करने के लिए (वेब सर्वर से डीबी सर्वर तक) ईएफ के लिए डेटाबेस में एक लॉग ऑन अकाउंट बनाया। यह इस तरह से बहुत अच्छा काम करता है, हालांकि, मुझे ट्रैक करने और अधिकृत करने के लिए किसी प्रकार की डेटाबेस तालिका स्थापित करनी होगी, जिसमें उपयोगकर्ताओं ने मुख्य डेटा बनाम सभी पढ़ने-योग्य उपयोगकर्ताओं (जो उसमें नहीं होंगे) को पढ़ने/लिखने की पहुंच है। टेबल)।
इस कनेक्शन स्ट्रिंग के लिए मेरी कनेक्शन स्ट्रिंग बदल गई है:
<add name="ReclosingContext" connectionString="Data Source=sqlserverbox\devtest;Initial Catalog=Reclosing;Integrated Security=False;User ID=xxxxxxxx;Password=xxxxxxxxx;MultipleActiveResultSets=True"
providerName="System.Data.SqlClient" />
मैंने सोचा था कि Windows प्रमाणीकरण\एकीकृत सुरक्षा पूरे एप्लिकेशन के लिए उपयोगकर्ताओं के लिए चीजों को सरल और बेहतर बनाएगी, लेकिन हमने पाया कि हमारे वातावरण में, SQL सर्वर कनेक्शन के लिए इसका उपयोग न करना बेहतर है।