का उपयोग करते समय सुरक्षा मेरे पास Google वेब टूलकिट में एक POJO है, जैसे कि मैं सर्वर से पुनर्प्राप्त कर सकता हूं।सुरक्षा GWT RPC
class Person implements Serializable {
String name;
Date creationDate;
}
ग्राहक परिवर्तन करता है, मैं वापस सहेज सर्वर इस तरह GWT RemoteServiceServlet का उपयोग कर रहे हैं:
rpcService.saveObject(myPerson,...)
समस्या यह है कि उपयोगकर्ता creationDate
बदलने में सक्षम नहीं होना चाहिए। चूंकि RPC विधि वास्तव में सर्वर पर एक HTTP पोस्ट है, इसलिए POST अनुरोध को बदलकर creationDate
को संशोधित करना संभव होगा।
changeName(String newName)
इत्यादि जैसे आरपीसी कार्यों की एक श्रृंखला बनाने के लिए एक साधारण समाधान होगा, लेकिन कई क्षेत्रों वाले वर्ग के साथ प्रत्येक फ़ील्ड के लिए कई विधियों की आवश्यकता होगी, और कई क्षेत्रों को एक बार में बदलने में अक्षम होगा।
मुझे एक एकल POJO होने की सादगी पसंद है जिसे मैं सर्वर और जीडब्ल्यूटी क्लाइंट दोनों पर उपयोग कर सकता हूं, लेकिन इसे सुरक्षित तरीके से करने का एक तरीका चाहिए। कोई विचार?
संपादित
मैं एक इनाम के साथ पुन: प्रस्तुत करने कर रहा हूँ कोशिश करते हैं और क्या कोई अन्य विचार कर रहे हैं देखने के लिए। शायद मेरा मूल प्रश्न जीडब्ल्यूटी के विनिर्देशों पर बहुत अधिक केंद्रित था। वास्तव में मुझे लगता है कि यह किसी भी सिस्टम के लिए एक सामान्य प्रश्न है जो एक सुरक्षित (सर्वलेट कंटेनर) और असुरक्षित (वेब ब्राउज़र) वातावरण के बीच डेटा पास करने के लिए जावाबीन का उपयोग करता है।
संपादित 2
इसके अलावा, स्पष्ट होना, मैं क्षेत्र creationDate
समस्या के एक उदाहरण के रूप में इस्तेमाल किया। हकीकत में जिस कोड के साथ मैं काम कर रहा हूं वह कई अलग-अलग क्षेत्रों के साथ अधिक जटिल है।
EDIT 2 के बारे में: मुझे नहीं लगता कि सृजनडेट फ़ील्ड और अन्य क्षेत्रों के बीच बहुत अंतर है - सिवाय इसके कि निर्माणडेट में कुछ अतिरिक्त जटिलताओं हो सकती हैं जो दिनांक/समय के हैंडलिंग के लिए विशिष्ट हैं। कुछ ऑब्जेक्ट्स/फ़ील्ड के लिए आने वाले और बाहर जाने वाले सभी डेटा को संभालने का सामान्य तरीका अनुमति है, यह हमेशा सभी अपडेटों को अस्वीकार कर बहुत आसान है। अन्य ऑब्जेक्ट्स/फ़ील्ड्स के लिए, जटिल डेटा संरचनाओं पर चेक के आधार पर अनुमतियां बहुत विस्तृत हो सकती हैं, प्रत्येक उपयोगकर्ता के लिए अलग-अलग मूल्यांकन किया जाता है। किसी भी मामले में, सर्वर पर चेक किए जाते हैं - उन्हें क्लाइंट पर न करें। –