GH GambleHub

Ինտերֆեյսները դերերի և հասանելի

1) Սկզբունքներ

1. Անվտանգություն = UX խնդիր։ Օգտագործողը պետք է հասկանա, որ նա կարող է և չի կարող անել առանց «մոխրագույն գոտիների»։

2. Նվազագույն անհրաժեշտ իրավունքները։ Մինչև գործողությունների ցուցադրումից, ամեն ինչ սահմանափակվում է դերի խնդիրներով։

3. Ազդանշանը կոդավորման փոխարեն։ Եթե հասանելիություն չկա, բացատրում ենք, թե ինչու և ինչպես ստանալ (հարցումը, դիմումը, ուսուցումը)։

4. Կրկնօրինակումը սերվերի վրա։ UI-գվարդները երբեք չեն փոխարինում սերվերային ստուգումները։

5. Թափանցիկ աուդիտ։ Յուրաքանչյուր զգայուն գործողություն թողնում է կարդացածի հետքը։


2) Մուտքի կառավարման մոդելները

RBAC (Role-Based) 'ֆիքսված դերեր' Խաղացող, Սապորտ, Ֆինանսներ, Ռիսկ/Կոմպլենս, Աֆֆիլիաթ մենեջեր, Մոդերատոր, Ադմին։

ABAC (Attribast-Based) ՝ ատրիբուտների հիմքում հիմնված քաղաքականությունը (միգրացիա, բրենդը, ժամացույցի գոտին, VIP մակարդակը, թիմը, փոփոխությունը)։

ReBAC (Relenship-Based) 'հարաբերությունների հասանելիությունը (խաղացողի վարողը, տիկետի սեփականատերը, գործընկերոջ ղեկավարը)։

SoD (Segregation of Duties) 'կրիտիկական առաջադրանքների բաժանումը (ստեղծվել է 108)։

Պրակտիկա ՝ RBAC որպես բազիս, ABAC բարակ ինտեգրման համար (բրենդը/տարածաշրջանը), SoD ֆինանսական/լիմիտների համար, ReBAC-ը կետային է (վերահսկվող պորտֆելներ)։


3) Գործառույթների քարտեզը դերերով (օրինակ iGaming)

ԲաժինԽաղացողըSapportՖինանսներComplaens/ՌիսկԱֆֆիլիատներըԱդմինը
Պրոֆիլ/լիմիտներ(սեփական)R/W (խնդրանքով)RR/W (1934) RR
Վճարումներ (դեպոզիտներ/եզրակացություններ)(սեփական)RR/W ()R/W (freeze/hold)RR
KUS/փաստաթղթեր(սեփական)R (մասամբ դիմակիրը) R (maskir.) R/W (դատավճիռը)R
Տոկոսադրույքներ/պատմություն(սեփական)RRRR
Պրոմո/բոնուսներR/W (հաշվարկել)RR/W (գործընկերներ)R
ՕգտագործողներըR (տիկետով)RR (գործընկերներ)R/W
R - կարդալ, W-ը ձայնագրություն է։ Դիմակավորում - տվյալների քաղաքականության մասին (PII/PAN/KYC)։

4) UX-pattern իրավունքների և դերերի համար

4. 1 Հավատարմագրում և տեսանելիություն

Թաքցրեք անհասանելի հատվածները նավարկությունից (աղմուկի նվազումը), բայց ցույց տվեք տեղեկատվական «դատարկ» քարտերը, եթե դա օգնում է հասկանալ հնարավորությունները։

Ժամանակավորապես անհասանելի լինելու համար '«Ամրոցը» հուշումով' պատճառը, պահանջները, CTA «Պահանջեք հասանելիությունը»։

4. 2 Գործողությունների վիճակ

Diabled + tooltip: "Ֆինանսական դեր է պահանջվում։ Խնդրեք հասանելիություն"։

Read-only ռեժիմը '«ապակու տակ» դաշտերը, ակնհայտ մարկեր «Միայն կարդալ»։

Էսկալացիա 'կոճակը «Ուղարկեք հայտարարության» փոխարեն «Կիրառիր»։

4. 3 Դիմակավորում և խմբագրում

PII (email, հեռախոսը, հասցեն) - «user @», «+ 380 90» օտար ձայնագրությունների համար։

PAN/IBAN-ը միայն հոսող/վերջին 4-ն է։

«Ցույց տալ ամբողջովին» 'միայն դերի/աուդիտի իրադարձության համար։


5) Ճարտարապետությունը տեղադրված է UI-ում

Policy-ենթատեքստը կլիենտում 'kesh no (TTL կարճ) + ստորագրությունը նորարարության վրա։

Երթուղիների գվարդիաները 'անհասանելի routs 24403 էջ, բացատրություն և CTA։

Բաղադրիչների գվարդիաները ՝ «Can ( «payout 'com»)։

Ֆիչեֆլագները 'փորձարկման/սեզոնային իրերը' առանձին իրավունքից։

Snippet (React)

tsx type Permission = string; // 'payout.approve', 'kyc.view_masked'
type Policy = { has:(p:Permission)=>boolean };
const PolicyCtx = React.createContext<Policy>({ has:()=>false });
export const Can: React.FC<{perm:Permission, children:React.ReactNode, fallback?:React.ReactNode}>
= ({perm, children, fallback=null}) => {
const { has } = React.useContext(PolicyCtx);
return has(perm)? <>{children}</>: <>{fallback}</>;
};

6) Սերվեր> Հաճախորդ

Ցանկացած գործողություն հաստատվում է կլեյմների (դերը, ատրիբուտները) միջոցով։

Քաղաքական գործիչները կենտրոնացված են (PDP/OPA/Cedar/Zanzibar նման), UI-ն միայն լուծում է ստանում։

Բոլոր կրիտիկական վիրահատությունները երկֆակտորային ապացույց + աուդիտ են։


7) Դիմակավորում և կարմիր տվյալների գոտիներ

Տվյալների կատեգորիաները

PII 'անունը, email, հեռախոսը, հասցեն, ծննդյան ամսաթիվը։

Ֆինանսներ ՝ PAN/IBAN/cryptocochelks, գումարներ, լիմիտներ, բոնուսային հավասարակշռություններ։

Փաստաթղթերը ՝ անձնագրեր/ID/սելֆի (KYC)։

Խաղային 'մրցույթի/հաղթանակների/արտոնագրերի պատմությունը։

Ցուցադրման քաղաքականությունը

Ամբողջական դեր/ձայնագրման սեփականատեր։

Mascana 'sapport, ֆինանսներ (ոչ սեփականատեր)։

Համախմբված է վերլուծություն (առանց ֆոսֆատորների)։

Դիմակավորման բաղադրիչը

tsx function Redact({text, perm}:{text:string, perm:Permission}){
const { has } = React.useContext(PolicyCtx);
return <span>{has(perm)? text: text.replace(/.(?=.{4})/g,'•')}</span>;
}

8) Հայտարարությունների հոսքերը (Approvals) և SoD

Չորս աչքեր ՝ նախաձեռնողը պնդում է։

Բազմաստիճան երթուղիներ (օրինակ, գումարը> X 242-րդ գիծ)։

Մրցույթի ժամանակահատվածը, SLA-ը, էսկալացիան։

Ամսագիրը 'ով է ստեղծել, ով փոխել է, թե ով է, երբ և որտեղից։

Օրինակներ 'եզրակացության ապացույցը, խաղացողի սահմանների փոփոխությունը, KYC դատավճիռը, սանկցիոն դրոշի վերացումը։


9) iGaming հատկությունները

Լիմիտներ և ինքնանպատակ. Փոփոխությունը միայն SoD-ի հետ և օգտագործողի համապատասխան ծանուցումը։

KYC/AML 'փաստաթղթերի հասանելիությունը նեղ դեր է։ նախատիպը մանրանկարիչ է, լիամետրաժ 'առանձին գործողությամբ։

Սանկցիոն/RER դրոշները 'տեսանելի են ռիսկի թիմին։ սապորտը միայն «ստուգման կարիք» կարգավիճակն է։

Վճարումներ/եզրակացություններ. «անցկացնել/շեղել» միայն Ֆինանսայի դերն է։ շեմից ավելի գումար կրկնակի ապացույց է։

Պարբերագրերը նշում են. Sapport կարդում է, բայց չի խմբագրում։ կոմպոզիցիան առանձին գործառույթ է հետաքննության հետ։


10) Տեղայնացումը, A11y, RTL

Տեքստերը «ոչ մի հասանելիություն» են և պարունակում են գործող ճանապարհներ (դիմումներ/ուսուցում)։

Ֆոկուսի կառավարումը 'օգտագործողին չփոխանցել «դատարկ» էջը առանց բացատրության։

RTL ռեժիմը աջակցված է համապատասխան տարածաշրջաններում դերերի համար։

A1y: «aria-medabled» + բացատրությունը, էսկալացիայի ստեղնաշարային հասանելիությունը։


11) Վիճակն ու սխալները

403 (ոչ ճիշտ) 'ընկերական էջ դերի համատեքստով և CTA «Պահանջեք հասանելիությունը»։

404 (ռեսուրս չկա), մի բացահայտել թաքնված օբյեկտների գոյությունը։

413/422 (չափազանց շատ/վալիդացիա), մի կարգավորեք քաղաքականության մանրամասները, չեզոք ձևակերպեք։

Rate-limits/արգելափակումը 'բացատրեք թայմերը/արգելափակման պայմանը։


12) Մետրիկի

Denied Rate-ը 'դերերի/էկրանների ձախողումների մասը (ազդանշան վատ IA կամ քաղաքականության մասին)։

Approval SLA: Միջին է հոսանքի մասին հայտարարման ժամանակը (եզրակացություն, լիմիտներ, KYC)։

Link Reveal Events: PII-ի «բացահայտումների» հաճախականությունը (ակնկալվում է փոքր և արդարացված)։

Error-to-Resolution: ժամանակը 403-ից հասանելիությունից։

Least-Privilege Drift: դերերը ավելցուկ իրավունքներով (օգտագործման)։


13) Anti-patterna

Թաքցնել սխալները «ոչինչ չի պատահել»։

Ցույց տալ դատարկ կոճակները առանց բացատրության։

Դիմակավորել իր սեփական տվյալները սեփականատիրոջը։

Ապավինել UI-գվարդին առանց սերվերային քաղաքական գործչի։

Խառնել ֆիչեֆլագները հասանելի (տարբեր խնդիրներ)։

Տալ «god-mode» սապորտը հարմարավետության համար։


14) Դիզայնի համակարգը (օրինակ)

json
{
"access": {
"badge": { "viewer":"#607D8B", "editor":"#4CAF50", "approver":"#FF9800", "admin":"#9C27B0" },
"lockColor": "#9E9E9E",
"maskChar": "•"
},
"states": {
"noAccess": { "bg":"var(--bg-elev)", "border":"var(--border)", "icon":"#9E9E9E" },
"approval": { "pending":"#FFC107", "approved":"#4CAF50", "rejected":"#F44336" }
},
"a11y": { "ariaDisabled": true, "explainDenial": true }
}

15) Snepets UI

Երթուղային գվարդը

tsx import { Navigate, Outlet } from 'react-router-dom';
function GuardedRoute({perm}:{perm:Permission}){
const { has } = React.useContext(PolicyCtx);
if (has(perm)) return <Outlet/>;
return <Navigate to={`/403?perm=${encodeURIComponent(perm)}`} replace/>;
}

Քարտը «մուտք չունի» CTA-ից

html
<article class="no-access">
<h3>Недостаточно прав</h3>
<p>Доступ к разделу «Выплаты» доступен ролям: Финансы/Админ.</p>
<button class="btn" data-open-request>Запросить доступ</button>
</article>

Ռուսական ամսագիրը (կրճատ)

json
{
"ts": "2025-11-03T18:45:12Z",
"actor": "u_5412",
"action": "payout.approve",
"target": "withdraw#w_91822",
"ip": "194...12",
"result": "success"
}

16) QA-chek-թերթ

Միգրացիան և IA

  • Անհասանելի հատվածները չեն աղմկում ընտրացանկում։
  • Կան հասկանալի էջեր/քարտեր «մուտք չկա» CTA-ից։

Գործողությունները և գվարդիաները

  • Կոճակներ Առանց իրավունքների '«www.abled» + tooltip/տեքստ։
  • Ռոուտները պաշտպանված են. ՈՒՂԻՂ URPO 403 բացատրությամբ։
  • Սերվերը ապացուցում է յուրաքանչյուր գործողություն։

Տվյալները

  • PII/PAN/KYC-ն դիմակավորված է քաղաքականությամբ։
  • «Բացահայտումների» լոգները գրվում և խանդավառվում են։
  • Էքսպորտը/հաշվետվությունները համապատասխանում են դերին (վերլուծության միավորներ)։

SoD/Approvals

  • Նախաձեռնողը չի կարող հաստատել իր դիմումը։
  • Շեմի գումարները բազմաստիճան երթուղիներ են։

A1u/Տեղայնացում

  • «Հասանելիություն չկա» տեղայնացված է. ստեղնաշարային ռոտացիան աշխատում է։
  • Հակադրություն/ֆոկուս օղակները համապատասխանում են AA-ին։

Մոսկվան

  • Քեշը համագործակցում է կարճ TTL-ի հետ։ հաշմանդամ լինելը փոխելիս։
  • PDP-ի անկումը UI-ն աշխատում է «դեֆոլտ-ապահով» ռեժիմում։

17) Մոսկվա դիզայնի համակարգում

Քաղաքական գործիչները 'դերերի/գործողությունների մատրիցա, SoD կանոնները, դիմակավորման մակարդակները։

Компоненты: `GuardedRoute`, `Can`, `NoAccessCard`, `ApprovalBanner`, `Redact`.

Գործընթացը 'հասանելիության հարցումը, ուսուցումը/դերերի սերտիֆիկացումը, N շաբաթում մեկ անգամ իրավունքների ստուգումը։

Do/Don 't-պատկերասրահը' «դատարկ կոճակներ առանց պատճառների», «սեփականատիրոջ դիմակավորում», «UI առանց սերվերային ստուգումների» vs «բացատրված սահմանափակումներ և CTA»։


Ռուսական ռեզյումե

Ռոլի ինտերֆեյսները հասկանալի տեղեկատվական ճարտարապետություն են + խիստ քաղաքականություններ + ընկերական բացատրություններ։ Ցույց տվեք միայն անհրաժեշտ, դիմեք զգայուն տվյալները, պաշտպանեք երթուղիները և գործողությունները պահակախմբերով, գրանցեք աուդիտի յուրաքանչյուր քննադատական իրադարձություն և կիսեք այն պարտականությունները, որտեղ դա ազդում է փողի և հաճույքի վրա։ IGaming-ում դա ոչ միայն նվազեցնում է ռիսկերը, այլ նաև անում է թիմերի աշխատանքը ավելի արագ և հանգիստ։

Contact

Կապ հաստատեք մեզ հետ

Կապ հաստատեք մեզ հետ ցանկացած հարցի կամ աջակցության համար։Մենք միշտ պատրաստ ենք օգնել։

Սկսել ինտեգրացիան

Email-ը՝ պարտադիր է։ Telegram կամ WhatsApp — ըստ ցանկության։

Ձեր անունը ըստ ցանկության
Email ըստ ցանկության
Թեմա ըստ ցանկության
Նամակի բովանդակություն ըստ ցանկության
Telegram ըստ ցանկության
@
Եթե նշեք Telegram — մենք կպատասխանենք նաև այնտեղ՝ Email-ի дополнение-ով։
WhatsApp ըստ ցանկության
Ձևաչափ՝ երկրի կոդ և համար (օրինակ՝ +374XXXXXXXXX)։

Սեղմելով կոճակը՝ դուք համաձայնում եք տվյալների մշակման հետ։