यह स्पष्ट नहीं है कि आपका लक्ष्य क्या है:क्या आप बौद्धिक संपदा की रक्षा करने का प्रयास कर रहे हैं; उपयोगकर्ताओं को स्रोत कोड (जैसे पासवर्ड) में संवेदनशील जानकारी देखने से रोकें; उपयोगकर्ताओं को प्रक्रियाओं को स्वयं बदलने से रोकें, या कुछ और? क्या आपके उपयोगकर्ता आपकी अपनी कंपनी में आंतरिक उपयोगकर्ता हैं या वे बाहरी ग्राहक हैं? क्या वे डेटाबेस और एप्लिकेशन को होस्ट करते हैं या आप करते हैं?
बौद्धिक संपदा की रक्षा के लिए:
- क्या आपके उपयोगकर्ता (ग्राहक?) एनडीए या अनुबंध पर हस्ताक्षर करते हैं जो आपके नियमों और शर्तों को निर्दिष्ट करता है और इसमें आपकी बौद्धिक संपदा का खुलासा करने के लिए दंड शामिल है
- संवेदनशील जानकारी को उस सेवा में ले जाएं जिसे आप होस्ट करते हैं और वेब सेवा के रूप में प्रदर्शित करते हैं
उपयोगकर्ताओं को स्रोत कोड देखने से रोकने के लिए:
- एन्क्रिप्शन के साथ प्रक्रिया बनाएं - यह केवल 'सामान्य' उपयोगकर्ताओं को कोड देखने से रोकता है, यह एक निर्धारित उपयोगकर्ता को sysadmin अनुमतियों के साथ नहीं रोकेगा
- TSQL का उपयोग करने के बजाय .NET में CLR प्रक्रिया लिखें
- संवेदी जानकारी को संकलित क्लाइंट एप्लिकेशन में ले जाएं
- संवेदनशील जानकारी को उस सेवा में ले जाएं जिसे आप होस्ट करते हैं और वेब सेवा के रूप में प्रदर्शित करते हैं
उपयोगकर्ताओं को प्रक्रियाओं में बदलाव करने से रोकने के लिए:
- उन्हें आवश्यक अनुमति न दें
अंत में, sysadmin अनुमतियों वाला एक निर्धारित उपयोगकर्ता हमेशा आपके कोड में तर्क को रिवर्स-इंजीनियर, डीबग, डीकंपाइल या अन्यथा उजागर करेगा। इसलिए आपको इस बारे में बहुत स्पष्ट होना चाहिए कि आप क्या रोकने की कोशिश कर रहे हैं, आप या आपकी कंपनी पर क्या संभावित प्रभाव पड़ रहा है, और आप इसे रोकने के लिए कितना समय और पैसा लगाने को तैयार हैं।