Ինտերֆեյսները դերերի և հասանելի
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)
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 (
Ֆիչեֆլագները 'փորձարկման/սեզոնային իրերը' առանձին իրավունքից։
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-ում դա ոչ միայն նվազեցնում է ռիսկերը, այլ նաև անում է թիմերի աշխատանքը ավելի արագ և հանգիստ։