@PreAuthorize अलग है होता पहुँच की तरह कुछ करना चाहता था, तो यह @ सुरक्षित से अधिक शक्तिशाली है।
पुराने @ सुरक्षित एनोटेशन ने अभिव्यक्तियों का उपयोग करने की अनुमति नहीं दी। स्प्रिंग सिक्योरिटी 3 से शुरू होने पर, अधिक लचीली एनोटेशन @ प्राइअधिकृत करें और @ पोस्टअधिकृत करें (साथ ही @PreFilter और @PostFilter) को प्राथमिकता दी जाती है, क्योंकि वे स्प्रिंग एक्सप्रेशन भाषा (एसपीईएल) का समर्थन करते हैं और अभिव्यक्ति-आधारित पहुंच नियंत्रण प्रदान करते हैं।
@Secured ("ROLE_ADMIN") एनोटेशन @PreAuthorize रूप में ही है ("hasRole ('ROLE_ADMIN')") @Secured ({ "ROLE_USER", "ROLE_ADMIN") माना जाता है ROLE_USER या ROLE_ADMIN के रूप में। इसलिए आप @ सुरक्षित का उपयोग करके और स्थिति को व्यक्त नहीं कर सकते हैं। आप @PreAuthorize ("hasRole ('व्यवस्थापक या hasRole (' उपयोगकर्ता ')") है, जो है के लिए आसान समझते हैं। आप व्यक्त कर सकते हैं और, OR, या नहीं (!) के साथ-साथ के साथ एक ही परिभाषित कर सकते हैं।
@PreAuthorize ("!! IsAnonymous() और hasRole ('व्यवस्थापक') ")
स्रोत
2017-10-03 08:32:00
ठीक है, तो मेरे नमूना कोई अंतर नहीं है, धन्यवाद –
इस बारे में पता नहीं किया, लेकिन भयानक लगता है: डी –