นี่เป็นคำถามที่มาจากอีกด้านหนึ่ง แต่ฉันคิดว่าฉันจะโยนมันลงไปเพราะฉันต้องขุดบนอินเทอร์เน็ตเพื่อหาสิ่งนี้
มีหลายอย่างเกี่ยวกับวิธีตรวจสอบบทบาท แต่ไม่ค่อยบอกว่าคุณกำลังตรวจสอบอะไรอยู่เมื่อคุณพูดว่า hasRole ("blah")
HasRole ตรวจสอบหน่วยงานที่ได้รับอนุญาตสำหรับหลักที่ได้รับการรับรองความถูกต้องในปัจจุบัน
ดังนั้นเมื่อคุณเห็นhasRole ("blah") แปลว่า hasAuthority ("blah")จริงๆ
ในกรณีที่ฉันเคยเห็นคุณทำสิ่งนี้กับคลาสที่ Implements UserDetails ซึ่งกำหนดเมธอดที่เรียกว่า getAuthorities ในนี้คุณจะเพิ่มบางส่วนnew SimpleGrantedAuthority("some name")
ในรายการตามตรรกะบางอย่าง ชื่อในรายการนี้เป็นสิ่งที่ตรวจสอบโดยคำสั่ง hasRole
ฉันเดาว่าในบริบทนี้ออบเจ็กต์ UserDetails คือหลักการรับรองความถูกต้องในปัจจุบัน มีเวทมนตร์บางอย่างที่เกิดขึ้นในและรอบ ๆ ผู้ให้บริการการตรวจสอบสิทธิ์และโดยเฉพาะอย่างยิ่งผู้จัดการการตรวจสอบสิทธิ์ที่ทำให้สิ่งนี้เกิดขึ้น
SecurityContextHolderAwareRequestWrapper
อินสแตนซ์ คุณสามารถปรับปรุงได้โดยอธิบายวิธีการรับและชี้แจงคำตอบให้ชัดเจนขึ้นอีกเล็กน้อย