Username: admin
Password: admin_password
See: All 5 tabs + Developer settings
Username: analyst
Password: analyst_password
See: Dashboard, Multi-Cloud, Reports
Username: devops
Password: devops_password
See: Dashboard, Kubernetes
Username: viewer
Password: viewer_password
See: Dashboard only
- Beautiful gradient background
- Demo credentials displayed
- Form validation on submit
- Click as admin → see 5 tabs
- Click as analyst → see 3 tabs
- Click as devops → see 2 tabs
- Click as viewer → see 1 tab
- Top-right corner shows username
- Shows current role
- Click "Logout" to exit
- See cloud provider configuration form
- Fields for AWS, Azure, GCP
- Mock data option for testing
- Auto-logout after 1 hour
- Notification warns before logout
- Login again to continue
- Try 5 wrong passwords
- On 5th attempt: 20-min lockout
- Intentional security feature
lib/
├── rbac.R ← Roles & permissions definitions
├── auth.R ← Authentication & password hashing
├── login_ui.R ← Login page UI
└── FInOpsApp.R ← Main app
docs/
├── TESTING_GUIDE.md ← Testing procedures (Start here!)
├── RBAC_QUICK_START.md ← 5-min walkthrough
├── RBAC_SETUP.md ← Complete setup guide
├── FINOPSAPP_INTEGRATION.md ← What changed
└── 4 other guides...
- App runs without errors
- Login page displays
- Admin login succeeds
- See all 5 tabs as admin
- View Multi-Cloud tab
- See user info in top-right
- Click logout works
- Analyst login shows 3 tabs
- DevOps login shows 2 tabs
- Viewer login shows 1 tab
- Wrong password shows error
- Session timeout works
✓ Tabs show/hide based on role
✓ User info in top-right
✓ Logout button present
✓ Dashboard always visible
✓ Login with correct credentials works
✓ Login with wrong password fails
✓ Rate limiting after 5 attempts
✓ Remember last user (optional)
✓ Admin sees all features
✓ Analyst sees cost/cloud features
✓ DevOps sees K8s features
✓ Viewer sees read-only data
| Setting | Default | For Production |
|---|---|---|
| Database | NULL (demo mode) | /path/to/rbac.db |
| Session Timeout | 3600 sec (1 hr) | Adjust as needed |
| Rate Limit | 5 attempts, 20 min | Adjust as needed |
| Password Hash | PBKDF2-SHA256 | ✓ Already secure |
- Click Logout
- Login with different username
- Observe tab changes
- Login as admin or analyst
- Click "Multi-Cloud" tab
- See credential entry form
- Try login with wrong password
- Repeat 5 times
- See lockout message
- Wait 20 minutes (or edit code to reduce)
- Look top-right corner
- Click to see options
- View user role badge
- Click logout
Check: All RBAC modules exist in lib/
- rbac.R
- auth.R
- login_ui.R
Check: Exact username/password match
admin / admin_password
analyst / analyst_password
devops / devops_password
viewer / viewer_password
Check: Logged in as admin?
Other roles have fewer tabs (expected!)
Admin has 5 tabs
Analyst has 3 tabs
DevOps has 2 tabs
Viewer has 1 tab
Check: On Multi-Cloud tab?
Only shows for Admin/Analyst
Check if Viewer (no tab)