डेटाफ़ैप का उपयोग करके अपेक्षाकृत सरल डेटाबेस ऐप बनाने के लिए डेल्फी एक्सई का उपयोग करना।डेल्फी डेटासैप सर्वर पर SQL लॉगिन प्रमाण-पत्र पास करने का सबसे प्रभावी तरीका?
चूंकि मेरे आवेदन में कुछ सुरक्षा डेटाबेस स्तर पर संभाली जाती है, इसलिए मुझे अपने क्लाइंट ऐप से उपयोगकर्ता के SQL प्रमाण-पत्र को अपने डेटासैप सर्वर पर पास करने की आवश्यकता होती है।
(मैं Datasnap सर्वर यदि संभव हो तो राज्यविहीन बनाने की कोशिश कर रही है, इसलिए समझते हैं कि मैं हर कॉल के लिए ऐसा करना होगा।)
मैं ग्राहक पक्ष पर ClientDatasets (सीडीएस) का उपयोग कर रहा तो मैं सर्वर पर संबंधित TDataSetProvider से क्लाइंट पर सीडीएस से मालिक डेटा ओलेरिएरिएंट में डेटा पास करने के लिए OnBeforeGetRecords का उपयोग कर सकता है। लेकिन इसका मतलब है कि प्रत्येक डेटा मॉड्यूल पर प्रत्येक सीडीएस में ऐसा कोई ईवेंट होता है जो ऐसा करता है, जो गन्दा और अनावश्यक लगता है। मैं यह महसूस करने में मदद नहीं कर सकता कि सर्वर से संदेशों को उच्च स्तर पर पास करने का कोई तरीका होना चाहिए।
सर्वर साइड पर DSServerClass स्तर पर कुछ इस तरह क्या मैं सच में करना चाहते हैं:
Procedure TMyServerContainer.MyServerClassCreateInstance(DSCreateInstanceEventObject: TDSCreateInstanceEventObject);
begin
// Server detects request for data from client app
fUsername := GetUsernameFromClientSomehow;
fPassword := GetPasswordFromClientSomehow;
// create data modules and initialise
MyDataModule := TMyDataModule.Create(nil);
MyDataModule.InitialiseWithSQLCredentials(fUsername, fPassword);
DSCreateInstanceEventObject.ServerClassInstance := MyDataModule;
End;
प्रमाणीकरण प्रबंधक घटक मुझे यहाँ मदद कर सकता है? कोई अन्य विचार? या मैं OnBeforeGetRecords के साथ अटक गया हूँ?
बहुत धन्यवाद।
धन्यवाद, ऐसा लगता है - यह स्पष्ट है कि अब आप इसे इंगित करते हैं लेकिन शायद मुझे दिन बचाए हैं। – RichardS