मैं स्प्रिंग में वेबएप को उभार रहा हूं, जिसे लॉग इन सिस्टम और प्राधिकरण प्रणाली की आवश्यकता है।

लॉगिन के लिए मेरे पास रूट होगा जो JSON Wep टोकन प्रदान करता है। उपयोगकर्ता की जाँच का कोड:

    @RequestMapping(value="test", method = RequestMethod.GET)
@ResponseBody
public void test (@RequestBody user checkUser) {

    System.out.println(checkCredentials(checkUser));

}

public final Boolean checkCredentials (user checkUser) {

    try {

        user existingUser = uRepo.getOne(checkUser.getuEmail());
        Boolean match = BCrypt.checkpw(checkUser.getuPassword(),existingUser.getuPassword());
        return match;
    } catch (Exception e) {
        System.out.println("User does not exist!");
        System.out.println(e.toString());
        return false;
    }
}

अभी के लिए यह कच्चा है, लेकिन यह जांचता है कि उस ईमेल के साथ उपयोग है या नहीं, पासवर्ड की जांच करेगा।

पहला प्रश्न: क्या यह उपयोगकर्ताओं की साख की जाँच करने का वैध तरीका है? या मुझे वसंत सुरक्षा का उपयोग करना चाहिए?

दूसरा प्रश्न: मुझे कार्य को अन्य वर्ग में कैसे स्थानांतरित करना चाहिए? क्योंकि जब मैंने इसे अभी स्थानांतरित किया और उपयोग किया, तो मुझे अपवादों (शून्य सूचक) के साथ समस्याएं थीं और फ़ंक्शन काम नहीं करता था।

तीसरा प्रश्न: क्या Node.js की तरह "मिडलवेयर" बनाने का कोई अच्छा तरीका है? मुझे लगता है कि इसे किसी प्रकार का HttpRequest फ़िल्टर होने की आवश्यकता होगी लेकिन मुझे पूरा यकीन नहीं है। मैं यह जांचना चाहता हूं कि उपयोगकर्ता के पास अन्य कार्यों के साथ जाने के लिए वाहक टोकन है या नहीं।

0
Sebastian 1 जून 2020, 15:12

1 उत्तर

सबसे बढ़िया उत्तर

ऐसा करने का यह सबसे अच्छा तरीका नहीं है। स्प्रिंग सिक्योरिटी का उपयोग करें और वापस बैठें। आप जो कुछ भी चाहते हैं वह स्प्रिंग सिक्योरिटी में बंडल है। फ़िल्टर, विधि स्तर की सुरक्षा, भूमिकाएँ, प्राधिकरण...

आप Github पर स्प्रिंग सिक्योरिटी + JWT उदाहरण प्रोजेक्ट पा सकते हैं:

यहाँ न्यूनतम उदाहरण है

अधिक उन्नत एक

0
Xnart 1 जून 2020, 18:40