Bu, soruya diğer taraftan geliyor, ancak bunu bulmak için gerçekten internette kazmak zorunda olduğum için onu ekleyeceğimi düşündüm.
Rolleri nasıl kontrol edeceğiniz hakkında pek çok şey var ama hasRole ("blah") derken aslında neyi kontrol ettiğinizi söylemiyor
HasRole, şu anda kimliği doğrulanmış müdür için verilen yetkileri kontrol eder
Yani gerçekten hasRole ("blah") ifadesini gördüğünüzde hasAuthority ("blah") anlamına gelir .
Gördüğüm durumda, bunu getAuthorities adında bir yöntemi tanımlayan UserDetails Uygulayan bir sınıfla yapıyorsunuz. Burada, temelde new SimpleGrantedAuthority("some name")
bazı mantığa dayalı olarak bir listeye bazılarını ekleyeceksiniz . Bu listedeki isimler hasRole ifadeleri tarafından kontrol edilen şeylerdir.
Sanırım bu bağlamda UserDetails nesnesi şu anda kimliği doğrulanmış asıl öğe. Kimlik doğrulama sağlayıcılarında ve çevresinde ve daha özel olarak bunu gerçekleştiren kimlik doğrulama yöneticisinde bazı sihir var.
SecurityContextHolderAwareRequestWrapper
örneğe ihtiyacınız var . Nasıl elde edileceğini açıklayarak ve cevabın kendisini biraz daha netleştirerek geliştirebilirsiniz.