2.1. Securizarea accesului la serviciile web

Având în vedere că aceste servicii comunică prin protocolul http şi se pot apela din diferite aplicaţii, administratorii de SocrateCloud trebuie să implementeze reguli stricte de acces pentru a preîntâmpina eventuale scurgeri de informaţii confidenţiale.

Aceste reguli se definesc din fereastra Servicii Web aflată în meniul SysAdmin -> Reguli Generale -> Securizare
Important: Serviciile web sunt responsabile pentru verificarea regulilor de acces definite în această fereastră.
Toate serviciile web furnizate de BIT Software implementează validarea acestor reguli de acces.

Securizarea pentru serviciile web se face pentru fiecare serviciu şi metodă în parte, indicând clasa şi metoda astfel:

  1. pentru componenta Data Exchange Interface:
    • pentru HTTP GET: org.bitsoftware.sdei.rws.service.rfDataResource.get
    • pentru HTTP PUT: org.bitsoftware.sdei.rws.service.rfDataResource.put
    • pentru HTTP POST: org.bitsoftware.sdei.rws.service.rfDataResource.post

  2. pentru componenta Hours Management:
    • metoda getAcctAmt: ws.bitsoftware.shrm.shrmWs.getAcctAmt
    • metoda getAcctCombinationList: ws.bitsoftware.shrm.shrmWs.getAcctCombinationList
    • metoda getEmployeeList: ws.bitsoftware.shrm.shrmWs.getEmployeeList
    • metoda getMonthlyTimeAttendance: ws.bitsoftware.shrm.shrmWs.getMonthlyTimeAttendance
    • metoda getTimeTypeList: ws.bitsoftware.shrm.shrmWs.getTimeTypeList
    • metoda getWorkedTime: ws.bitsoftware.shrm.shrmWs.getWorkedTime
    • metoda setEmployeeCost: ws.bitsoftware.shrm.shrmWs.setEmployeeCost

  3. pentru componenta de integrare cu HH:
    • metoda getActivities: ws.bitsoftware.sohh.sohhWs.getActivities
    • metoda getLocators: ws.bitsoftware.sohh.sohhWs.getLocators
    • metoda getMoveConfirmationHeaders: ws.bitsoftware.sohh.sohhWs.getMoveConfirmationHeaders
    • metoda getMoveConfirmationLines: ws.bitsoftware.sohh.sohhWs.getMoveConfirmationLines
    • metoda getProducts: ws.bitsoftware.sohh.sohhWs.getProducts
    • metoda getQtyAvailable: ws.bitsoftware.sohh.sohhWs.getQtyAvailable
    • metoda getReceiptConfirmationHeaders: ws.bitsoftware.sohh.sohhWs.getReceiptConfirmationHeaders
    • metoda getReceiptConfirmationLines: ws.bitsoftware.sohh.sohhWs.getReceiptConfirmationLines
    • metoda getShipConfirmationHeaders: ws.bitsoftware.sohh.sohhWs.getShipConfirmationHeaders
    • metoda getShipConfirmationLines: ws.bitsoftware.sohh.sohhWs.getShipConfirmationLines
    • metoda getWarehouseLocators: ws.bitsoftware.sohh.sohhWs.getWarehouseLocators
    • metoda getWarehouses: ws.bitsoftware.sohh.sohhWs.getWarehouses
    • metoda createMaterialMovement: ws.bitsoftware.sohh.sohhWs.createMaterialMovement
    • metoda processInOutConfirmation: ws.bitsoftware.sohh.sohhWs.processInOutConfirmation
    • metoda processMoveConfirmation: ws.bitsoftware.sohh.sohhWs.processMoveConfirmation
    • metoda saveProductLocator: ws.bitsoftware.sohh.sohhWs.saveProductLocator
    • metoda sendDocument: ws.bitsoftware.sohh.sohhWs.sendDocument
    • metoda getUsers: ws.bitsoftware.sohh.sohhWs.getUsers

Securizarea trebuie să fie obligatoriu bazată pe rol și utilizator cu rol!

Criptarea informațiilor transmise, atât a datelor de identificare (rol, utilizator, parolă, etc) cât și a datelor primite se face prin utilizarea protocolului HTTPS la apelul serviciilor. La nivelul aplicației nu există posibilitatea de criptare a datelor!

Definire

Se face din primul tab al ferestrei Servicii Web 
  • Denumire: numele serviciului
  • Clasa Java: clasa java, inclusiv metoda, care implementează serviciul
  • Obligatoriu utilizator cu rol: utilizatorul cu al cărui credenţiale se apelează serviciul web trebuie să aparţină unui Rol
  • Acces anonim: se poate apela serviciul web fără a specifica credenţialele vreunui utilizator
  • Securizare acces pe bază de rol: specifică dacă se folosește securizarea accesului în funcție de rolul cu care se apelează serviciul
  • Securizare acces pe bază de IP: specifică dacă se folosește securizarea accesului în funcție de adresa IP de unde se apelează serviciul
  • Comentarii: descrierea serviciului
  • Activă: dacă serviciul este sau nu activ. Serviciile inactive nu se pot apela, indiferent dacă clasa java care le implementează este încărcată sau nu în serverul SocrateCloud

Securizare funcție de rol

Securizare în funcție de rol se face din tab-ul Acces Roluri. Prin acest mecanism se pot specifica rolurile cu care se poate apela serviciul web.

Fereastra Utilizatori Web, localizată în meniul Sys Admin -> Reguli Generale -> Securizare, se utilizează pentru a întreține / publica utilizatorii care vor avea acces la servicii web, indiferent de rol.

Pentru detalii despre roluri şi utilizatori vă rugăm să consultați capitolele Roluri și Utilizatori.

Securizare funcţie de IP

Se face din tabul Acces IP. Prin acest mecanism se pot specifica adresele IP de unde se poate apela serviciul web.
Se pot scrie mai multe adrese despărțite cu ; (punct și virgulă). De asemenea se pot utiliza clase de adrese IP. De exemplu 192.168.0.0 înseamnă că se permite acesul de la ORICE adresă IP care începe cu 192.168. 
  • Rol: opțional se pot defini adrese IP distincte în funcție de rol. Trebuie avut în vedere că regulile de acces pe bază de IP sunt cumulative. De exemplu dacă se permite accesul de la clasa de adrese 192.168.0.0 fără a specifica un rol și se mai specifică pentru rolul GardenAdmin acces de la IP-ul 80.96.43.1, rolul GardenAdmin va putea apela serviciul atât de la IP-ul 80.96.43.1 cât și de la orice IP care începe cu 192.168.
  • IP: adresele sau clasele de adrese de unde se permite accesul la serviciu.

Log

În acest tab se poate urmări istoricul apelărilor serviciului.
Procesul Stergere log WS, localizat în meniul System Admin -> Reguli Generare -> Securizare, se utilizează pentru a șterge toate înregistrările din acest tab. Sunt disponibili următorii parametri:
  • Serviciu Web - serviciul web pentru care se ruleazăprocesul. Dacă nu se selectează nimic, procesul va fi rulat pentru toate serviciile web existente;
  • Zile Jurnalizare - vor fi șterse înregistrarile mai vechi decât numarul de zile introdus;