Téigh ar aghaidh chuig an bpríomhábhar

Rochtain Pacáiste

Is sraith srianta é seo a cheadaíonn nó a shrianann rochtain ar an stór áitiúil bunaithe ar chritéir shonracha.

Fanann na srianta slándála ar ghuaillí an bhreiseáin atá á úsáid, de réir réamhshocraithe úsáideann verdaccio an breiseán htpasswd. Má úsáideann tú breiseán eile d'fhéadfadh an t-iompar a bheith difriúil. Ní láimhseálann an breiseán réamhshocraithe allow_access agus allow_publish leis féin, úsáideann sé aisfhilleadh inmheánach ar eagla nach bhfuil an breiseán réidh dó.

Chun tuilleadh eolais a fháil faoi cheadanna tabhair cuairt ar an rannán fíordheimhnithe sa vicí.

Réamhshocrú

Using the default configuration, allows all users - including non-authenticated users - to read all packages. All known and authenticated users are allowed to publish/unpublish packages. If a package is not available in Verdaccio, Verdaccio will request it from the NPM registry and store it locally (if it exists).

packages:
'@*/*':
access: $all
publish: $authenticated
unpublish: $authenticated
proxy: npmjs
'**':
access: $all
publish: $authenticated
unpublish: $authenticated
proxy: npmjs
The default htpasswd auth plugin allows anyone to register! If you want to restrict package access, you will need to either limit registration to existing users or use a different auth plugin.

If the packages section is missing in your configuration, users will not be able to access any packages nor will they be allowed to publish or unpublish packages. :::

Úsáid

packages:
# scoped packages
'@scope/*':
access: $all
publish: $all
proxy: server2

'private-*':
access: $all
publish: $all
proxy: uplink1

'**':
# allow all users (including non-authenticated users) to read and
# publish all packages
access: $all
publish: $all
proxy: uplink2

Is iad seo a leanas na grúpaí inmheánacha a láimhseálann verdaccio:

'$all', '$anonymous', '@all', '@anonymous', 'all', 'undefined', 'anonymous';

Faigheann gach úsáideoir na ceadanna sin go léir go neamhspleách nó nach bhfuil móide na grúpaí a sholáthraíonn an breiseán, ar eagla htpasswd an t-ainm úsáideora a thabhairt ar ais mar ghrúpa. Mar shampla, má tá tú logáilte mar npmUser beidh liosta na ngrúpaí ann.

// ní dhéanfar grúpaí gan '$' a mholadh sa deireadh
'$all', '$anonymous', '@all', '@anonymous', 'all', 'undefined', 'anonymous', 'npmUser';

Más mian leat pacáistí socraithe ar leith a chosaint faoi do ghrúpa, ní mór duit rud éigin mar seo a dhéanamh. Úsáidfimid Regex a chlúdaíonn gach pacáiste réamhshocruithe npmuser-. Molaimid réimír a úsáid le haghaidh do phacáistí, ar an mbealach sin beidh sé níos éasca iad a chosaint.

packages:
'npmuser-*':
access: npmuser
publish: npmuser

Atosaigh verdaccio agus i do chonsól déan iarracht npmuser-core a shuiteáil.

$ npm install npmuser-core
npm install npmuser-core
npm ERR! code E403
npm ERR! 403 Forbidden: npmuser-core@latest

npm ERR! A complete log of this run can be found in:
npm ERR! /Users/user/.npm/_logs/2017-07-02T12_20_14_834Z-debug.log

Is féidir leat an t-iompar reatha a athrú trí úsáid a bhaint as fíordheimhniú breiseán eile. Ní dhéanfaidh verdaccio ach seiceáil an mbaineann an t-úsáideoir a rinne iarracht rochtain a fháil ar phacáiste ar leith nó a fhoilsiú leis an ngrúpa ceart.

Note: Since npm 7.10, the config option always-auth has no effect. You can safely remove it from your configuration.

Socraigh grúpaí iolracha

Tá sé éasca go leor grúpaí rochtana iolracha a shainiú, níl le déanamh ach iad a shainiú le spás bán eatarthu.

'company-*':
access: admin internal
publish: admin
proxy: server1
'supersecret-*':
access: secret super-secret-area ultra-secret-area
publish: secret ultra-secret-area
proxy: server1

Rochtain ar thacar pacáistí a bhlocáil

Más mian leat an rochtain a bhlocáil/foilsigh chuig grúpa sonrach pacáistí. Ná sainmhínigh rochtain agus foilsigh.

packages:
'old-*':
'**':
access: $all
publish: $authenticated

Seachfhreastalaí a bhlocáil sraith de phacáistí ar leith

B'fhéidir gur mhaith leat pacáiste amháin nó níos mó a bhacadh ó fháil ó chianstórtha., ach, ag an am céanna, lig do dhaoine eile rochtain a fháil ar naisc uasghrádaithe éagsúla.

Feicfimid an sampla seo a leanas:

packages:
'jquery':
access: $all
publish: $all
'my-company-*':
access: $all
publish: $authenticated
'@my-local-scope/*':
access: $all
publish: $authenticated
'**':
access: $all
publish: $authenticated
proxy: npmjs

Déanaimis cur síos ar cad ba mhaith linn leis an sampla thuas:

  • Ba mhaith liom mo spleáchas jquery féin a óstáil ach ní mór dom seachfhreastalaí a sheachaint.
  • Teastaíonn uaim gach spleáchas a mheaitseálann le mo chuideachta-* ach ní mór dom seachfhreastalaí a sheachaint.
  • Teastaíonn uaim gach spleáchas atá laistigh den scóip my-local-scope ach ní mór dom seachfhreastalaí a sheachaint.
  • Ba mhaith liom seachfhreastalaí don chuid eile de na spleáchais ar fad.

ar an eolas go bhfuil ord sainmhínithe do phacáistí tábhachtach agus úsáid wilcard dúbailte i gcónaí. Mar mura gcuireann tú é san áireamh cuirfidh verdaccio é san áireamh duit agus cuirfear isteach ar an mbealach a réitítear do spleáchais.

Féadfaidh tú níos mó ná naisc iolracha a shannadh lena n-úsáid mar sheachvótálaí le húsáid i gcás teipe, nó i gcás ina bhféadfadh clárlanna príobháideacha eile a bheith in úsáid.

'**':
access: $all
publish: $authenticated
proxy: npmjs uplink2

Pacáistí a Dhífhoilsiú

Láimhseálann an mhaoin foilsigh ceadanna le haghaidh npm publish agus npm unpublic. Ach, más mian leat a bheith níos sainiúla, is féidir leat an mhaoin a úsáid dífhoilsiú i do rannán rochtana pacáiste, mar shampla:

packages:
'jquery':
access: $all
publish: $all
unpublish: root
'my-company-*':
access: $all
publish: $authenticated
unpublish:
'@my-local-scope/*':
access: $all
publish: $authenticated
# unpublish: property commented out
'**':
access: $all
publish: $authenticated
proxy: npmjs

Sa sampla roimhe seo, chuirfí síos ar an iompar:

  • is féidir le gach úsáideoir an pacáiste jquery a fhoilsiú, ach ní bheadh ​​ach an t-úsáideoir root in ann leagan ar bith a dhífhoilsiú.
  • ní féidir ach le húsáideoirí fíordheimhnithe pacáistí mo chuideachta-* a fhoilsiú, ach ní bheadh ​​cead ag aon duine iad a dhífhoilsiú.
  • Má dhéantar trácht ar dífhoilsiú, deonófar nó diúltófar don rochtain faoin sainmhíniú foilsigh.

Cumraíocht

Is féidir leat pacáistí iolracha a shainiú agus ní mór Regex uathúil a bheith ag gach ceann acu. Tá an chomhréir bunaithe ar sloinn glob íosta.

MaoinCineálAg teastáilSamplaTacaíochtCur síos
accessstringNíl$allgo léirgrúpaí a bhfuil cead acu rochtain a fháil ar an bpacáiste a shainiú
publishstringNíl$authenticatedgo léirgrúpaí a bhfuil cead acu foilsiú a shainiú
unpublishstringNíl$authenticatedgo léirdefine groups allowed to unpublish
proxystringNílnpmjsgo léirteorainn le breathnú suas le haghaidh nasc sonrach
storagestringNílstring/some-foldercruthaíonn sé fofhillteán laistigh den fhillteán stórála do gach rochtain pacáiste

Aibhsíonn muid go molaimid gan allow_access/allow_publish agus proxy_access a úsáid a thuilleadh, tá siad siúd i léig agus bainfear iad gan mhoill, bain úsáid as an leagan gearr de gach ceann díobh sin (rochtain/foilsigh/seachfhreastalaí).

Más mian leat tuilleadh eolais a fháil faoi conas an t-airí stórála a úsáid, déan tagairt don trácht seo le do thoil.