AntonsK
STARTER

REST: TdmUsersOBL izveide atgriež "nav norādīts tiesību punkts WEB lietotāju veidošana… ar REST", la

autors AntonsK

Sveiki!

Integrējam Horizon (versija 3.685.x) ar iekšēju sistēmu caur REST API. Pārējo entītiju izveide strādā (personas kartīte, tiesiskās attiecības, amata dati, stāžs, kontaktpersonas, bankas konti, ārējie dokumenti, pamatlīdzekļu lietotāji, struktūrvienības). Neizdodas vienīgi WEB lietotāja izveide.

Pieprasījums: POST /rest/TdmUsersOBL/template ar aizpildītu entity (standarta lauki + dmUsersoFirmaRBL rinda ar firmu un derīguma periodu).

Atbilde: HTTP 422 {"class":"EValidationException","message":"Lietotājam HOPLIC nav norādīts tiesību punkts \"WEB lietotāju veidošana, labošana un dzēšana ar REST\"!"}

Ko esam pārbaudījuši:

  • REST autorizējas ar WEB lietotāju (Basic auth), kurš WEB lietotāja kartītē ir piesaistīts Horizon lietotājam HOPLIC (lauks "Horizon lietotājs"). Tas sakrīt ar kļūdā nosaukto lietotāju, un ar to pašu piesaisti strādā visas pārējās REST izveides.
  • Lietotājam HOPLIC (tips "Integrācija") lomas tiesību kokā ir atļauts gan šis punkts, gan visi pārējie "…ar REST" punkti, gan Sistēma → Administrēt → WEB lietotāji. Saglabāšana apstiprināta, lietotājs pārlogojies.
  • Licences informācija atjaunota, versija aktuāla.
  • Kļūda ir identiska ar dažādiem pieprasījuma variantiem (ar/bez firmu rindas, ar/bez paroles lauka, dažādi USER_TYPE).
  • Administratora tipa lietotājam šo punktu koks nemaz neļauj atzīmēt (kā paredzēts), tāpēc izmantots "Integrācija" tipa lietotājs.

Jautājums: ko serveris pārbauda šai REST izveidei papildus atzīmētajam tiesību punktam — citu tiesību punktu, lietotāja tipu/profilu, vai iestatījumu HoP pusē? Vai šī ir zināma problēma?

Paldies!

AntonK_0-1790000515839.png

 

1 ATBILDĒT 1
AntonsK
STARTER

autors AntonsK

Atrisināts. Integrācijai vajag atsevišķu Horizon lietotāju, kuram nav administratora lomas.

Vienu un to pašu Horizon lietotāju nevar lietot gan administrēšanai, gan REST integrācijai. Kamēr lietotājam ir piešķirta administratora loma, punkts "WEB lietotāju veidošana, labošana un dzēšana ar REST" paliek liegts pat tad, ja tas ir atzīmēts zem Integrācijas lomas — administratora tipa loma REST punktus nest nevar, un liegums uzvar pār atļauju no otras lomas. Tieši tāpēc pārējās REST izveides strādā, bet WEB lietotāja izveide ne: tikai šim punktam ir šis ierobežojums.

Ko darīt:

  1. Izveidot jaunu Horizon lietotāju, kas paredzēts tikai integrācijai, tips "Integrācija".
  2. Piešķirt tam tikai Integrācijas lomu ar abiem "…ar REST" punktiem. Nekādas administratora lomas.
  3. WEB lietotāja kartītē, ar kuru REST autorizējas, laukā "Horizon lietotājs" norādīt šo jauno lietotāju.
  4. To pašu pārbaudīt katrā firmā atsevišķi, jo tiesības ir pa firmām.

Pēc tam pieprasījums nav jāmaina — tas pats POST /rest/TdmUsersOBL/template sāka strādāt uzreiz.

Kā pārliecināties, ka problēma ir tieši šī: GET /rest/user/xrights parāda REST sesijas lietotājam liegtās tiesības, GET /rest/user/rights — atļautās. Ja xrights sarakstā ir USERSOR (10671) vai USERSHR (10585), tad punkts ir liegts, nevis trūkstošs, un atzīmēšana tiesību kokā neko nedos. Pēc lietotāja nomaiņas USERSOR no liegtajām pazuda.

Divas detaļas pieprasījumā: PAROLE_INP ir obligāts, kaut arī to paroli neviens neievada, un REGISTYPE jāsūta 5, kas kartītē parādās kā "Izveidots no Rest"

Saņem jaunumus par šo ziņu savā e-pastā!

Pieseko šai ziņai klikšķinot uz trim punktiem augšējā labajā šī raksta stūrī un izvēlies Abonēt. Tu vari izvēleties par kādu saturu saņem ziņas e-pastā!

Sīkāk par abonēšanas iespējām