Benim Bahar MVC denetleyicisi bu yöntemi tanımladığınız: JUnit, bir @PreAuthorize açıklamasını ve bir yay MVC Denetçisi tarafından belirtilen yayı EL'yi nasıl test eder?
@RequestMapping(value = "{id}/content", method=RequestMethod.POST)
@PreAuthorize("principal.user.userAccount instanceof T(com.anonym.model.identity.PedagoAccount) AND principal.user.userAccount.userId == #object.pedago.userId AND #form.id == #object.id")
public String modifyContent(@PathVariable("id") Project object, @Valid @ModelAttribute("form") ProjectContentForm form) {
....
}
Sonra benim JUnit testinde bu yöntemi çağırın ve ön provizyon durum doğrulandı sağlamak istiyorum. Ama JUnit testimde kullanıcı sorumlusunu kötü bir hesapla ayarladığımda hata yok ve yöntem tamamlandı. Ek açıklama baypas edilmiş gibi görünüyor.
Ancak bu yöntemi normal bir şekilde (test etme) aradığımda, Yetkilendirildi doğrulanır.
Mümkünse, bu açıklamanın bir deneme sınavında nasıl test edileceği ve eğer bir tane atarsa istisnanın nasıl yakalanacağı.
sayesinde
Ön Yetkilendirme'de "asıl" kullanan diğer kişiler için bir not, bu bir nullpointerexcpetion ile başarısız olur ve isAuthenticated() ya PreAuthorize ekinde veya security.xml – chrismarx