KamoCRM

Gardian STOMP SUBSCRIBE la mesajele live ale unei sesiuni și de semnalizare WebRTC

FixMediaService
Expediere
23 septembrie 2026 la 11:14 UTC
Autor
Kamo
Comite
d47b471

/topic/chat/session/{guid} şi /topic/webrtc/session/{guid} nu au fost păziţi la toate: orice priză autentificată ar putea SUBSCRIBE la o altă sesiune de live mesaje de chat sau oferta WebRTC/răspuns/trafic ICE doar prin cunoaștere (sau ghicitul) guide sale - geamănul viu al gaura-rescriere MediaController.canReadSesiune închisă pentru HTTP (f7b2bd5). Client SEND fie a fost, de asemenea, deschis; nici un client legitim trimite vreodată la ei (fiecare real un singur subscrie), astfel încât un SEND fals ar putea injecta un mesaj live fals sau Semnalizarea cadru într-o sesiune falsificatorul nu poate chiar citi. WebSocketConfig.preTrimite acum gărzi SUBSCRIBE la ambele prefixe cu SessionAccessGuard#canRead - aceeasi regula pe care o foloseste poarta MediaController, Nu o a patra copie a ei - și *************** acum refuză SEND la ambele pur și simplu, potrivire orice alt subiect în această listă de permis. canRead needed a second entry point: semnătura sa existentă solicită o HttpServlet Cerere pentru drepturile apelantului (support TICKET suplimentar Admitere), și un cadru STOMP nu are nici unul - numai ceea ce WebSocketAuthInterceptor ştampilat în sesiunea de la CONNECT (membru/orgId/drepturi, citit aceeași sesiune *** o cerere HTTP ar fi rezolvat). Noul canRead(sesiune, apelant, List<String> drepturi) supraîncărcare ia această formă direct; ambele supraîncărcări deleg acum la o implementare privată, astfel încât Regula reală este încă scrisă exact o dată. Un vizitator de chat public nu este deloc membru - PublicChatWebSocketInterceptor timbre estePublicChat/sessionGuid în schimb, deja rezolvate și verificate împotriva simbolului lor sesiune la strângerea de mână. Regula subscrierii lor este directă. guid meci împotriva că, niciodată sesiuneAccessGuard#canRead (care necesită un Membru și ar refuza un apelant care nu are nici unul) - confirmat împotriva kamo-intern, care numai vreodată subscrie la aceste două subiecte și niciodată trimite la oricare. Acoperit de ***************** (membru admis/refuzat) de către gardian, un vizitator public admis la propria sesiune și a refuzat diferite, subiecte neatinse), cazuri noi în SesiuneAccessGuardTest și StompDestinationAuthzTest pentru lista de drepturi Supraîncărcare și noul refuz SEND. Verificare mutație: scădere noul Subscrie verificarea, încălcarea regulii de supraîncărcare a listei de drepturi, și (ca o verificarea regresiei) afirmaţia pre-existentă "nepăzită" care se închide fiecare rândul său, o afirmație specifică roșu; toate restaurate și rerula verde.

Toate modificările

Ca ceea ce vezi de transport maritim?

Toate acestea ajung în spațiul de lucru pe cont propriu. Începeți cu planul gratuit și citiți această pagină din nou într-o lună.

Pornește gratuit pentru totdeaunaVezi prețurile