Docs / Security / Advanced Access Control

Advanced Access Control

Overview

The Advanced Access Control add-on provides granular permission management beyond basic role restrictions. Control access by individual users, membership levels, purchase history, geographic location, time windows, and more.

Prerequisites

  • WordPress Download Manager installed
  • Advanced Access Control add-on installed
  • Understanding of WordPress user roles

Benefits

Feature Benefit
User-Level Access Grant/revoke per user
Membership Integration Works with membership plugins
Purchase-Based Access Access after purchase
Time-Based Access Schedule availability
Geo-Restrictions Country/region limits
IP Restrictions Whitelist/blacklist IPs

Access Methods

User-Level Access

Grant access to specific users:

┌─────────────────────────────────────────────────────────────┐
│ User Access                                                  │
├─────────────────────────────────────────────────────────────┤
│                                                              │
│ Access Mode:                                                 │
│ ○ Role-based only (default)                                  │
│ ● Include specific users                                     │
│ ○ Specific users only (ignore roles)                         │
│                                                              │
│ Allowed Users:                                               │
│ [Search users...                                        ]   │
│                                                              │
│ ┌───────────────────────────────────────────────────────┐   │
│ │ john@example.com ✕                                    │   │
│ │ jane@example.com ✕                                    │   │
│ │ bob@company.org ✕                                     │   │
│ └───────────────────────────────────────────────────────┘   │
│                                                              │
│ [+ Add User]                                                 │
│                                                              │
└─────────────────────────────────────────────────────────────┘

Group Access

Create user groups for easier management:

┌─────────────────────────────────────────────────────────────┐
│ User Groups                                                  │
├─────────────────────────────────────────────────────────────┤
│                                                              │
│ Available Groups:                                            │
│ ☑ VIP Customers (15 users)                                   │
│ ☑ Beta Testers (8 users)                                     │
│ ☐ Partners (5 users)                                         │
│ ☐ Staff (12 users)                                           │
│                                                              │
│ [Manage Groups]                                              │
│                                                              │
└─────────────────────────────────────────────────────────────┘

Managing Groups

┌─────────────────────────────────────────────────────────────┐
│ Manage User Groups                                           │
├─────────────────────────────────────────────────────────────┤
│                                                              │
│ Group: VIP Customers                                         │
│ Description: Premium customers with early access             │
│                                                              │
│ Members:                                                     │
│ ├─ john@example.com      Added: Jan 5, 2026    [Remove]     │
│ ├─ jane@company.org      Added: Jan 8, 2026    [Remove]     │
│ ├─ mike@business.com     Added: Jan 10, 2026   [Remove]     │
│ └─ ...                                                       │
│                                                              │
│ [+ Add Members] [Import CSV] [Export]                        │
│                                                              │
└─────────────────────────────────────────────────────────────┘

Time-Based Access

Schedule Availability

┌─────────────────────────────────────────────────────────────┐
│ Time-Based Access                                            │
├─────────────────────────────────────────────────────────────┤
│                                                              │
│ ☑ Enable time restrictions                                   │
│                                                              │
│ Access Window:                                               │
│ Start Date: [2026-01-15    ] Time: [09:00 ▼]                │
│ End Date:   [2026-03-15    ] Time: [23:59 ▼]                │
│                                                              │
│ Recurring Schedule:                                          │
│ ☐ Enable recurring access                                    │
│                                                              │
│   Days:                                                      │
│   ☑ Mon ☑ Tue ☑ Wed ☑ Thu ☑ Fri ☐ Sat ☐ Sun                  │
│                                                              │
│   Hours:                                                     │
│   From: [09:00 ▼] To: [17:00 ▼]                              │
│                                                              │
│ Timezone:                                                    │
│ [Site timezone (UTC+0)                                 ▼]   │
│                                                              │
│ Outside Schedule Message:                                    │
│ [This download is only available during business hours  ]   │
│                                                              │
└─────────────────────────────────────────────────────────────┘

Early Access

┌─────────────────────────────────────────────────────────────┐
│ Early Access                                                 │
├─────────────────────────────────────────────────────────────┤
│                                                              │
│ ☑ Enable early access for select users                       │
│                                                              │
│ Public Release: [2026-02-01    ]                             │
│ Early Access:   [2026-01-25    ] (7 days earlier)            │
│                                                              │
│ Early Access Groups:                                         │
│ ☑ VIP Customers                                              │
│ ☑ Beta Testers                                               │
│ ☐ All logged-in users                                        │
│                                                              │
└─────────────────────────────────────────────────────────────┘

Geographic Restrictions

Country-Based Access

┌─────────────────────────────────────────────────────────────┐
│ Geographic Restrictions                                      │
├─────────────────────────────────────────────────────────────┤
│                                                              │
│ Restriction Mode:                                            │
│ ○ Allow all countries (no restrictions)                      │
│ ● Allow selected countries only (whitelist)                  │
│ ○ Block selected countries (blacklist)                       │
│                                                              │
│ Countries:                                                   │
│ [United States ✕] [Canada ✕] [United Kingdom ✕]             │
│ [+ Add Country]                                              │
│                                                              │
│ Detection Method:                                            │
│ [IP Geolocation                                        ▼]   │
│   ○ IP Geolocation (recommended)                             │
│   ○ User profile country                                     │
│   ○ Billing country (requires purchase)                      │
│                                                              │
│ Blocked Message:                                             │
│ [This download is not available in your region         ]    │
│                                                              │
│ VPN/Proxy Detection:                                         │
│ ☐ Block known VPN/proxy IPs                                  │
│                                                              │
└─────────────────────────────────────────────────────────────┘

Region/State Level

┌─────────────────────────────────────────────────────────────┐
│ State/Region Restrictions                                    │
├─────────────────────────────────────────────────────────────┤
│                                                              │
│ Country: United States                                       │
│                                                              │
│ State Restrictions:                                          │
│ ○ All states allowed                                         │
│ ● Block selected states                                      │
│                                                              │
│ Blocked States:                                              │
│ [California ✕] [New York ✕]                                 │
│ [+ Add State]                                                │
│                                                              │
│ Reason: Regulatory compliance requirements                   │
│                                                              │
└─────────────────────────────────────────────────────────────┘

IP-Based Access

IP Whitelist

┌─────────────────────────────────────────────────────────────┐
│ IP Whitelist                                                 │
├─────────────────────────────────────────────────────────────┤
│                                                              │
│ ☑ Enable IP whitelist (only these IPs can access)            │
│                                                              │
│ Allowed IPs/Ranges:                                          │
│ ┌─────────────────────────────────────────────────────────┐ │
│ │ 192.168.1.0/24      Office network                      │ │
│ │ 10.0.0.50           Server IP                           │ │
│ │ 203.0.113.0/28      VPN range                           │ │
│ └─────────────────────────────────────────────────────────┘ │
│                                                              │
│ [+ Add IP/Range]                                             │
│                                                              │
│ Format: Single IP (192.168.1.1) or CIDR (192.168.1.0/24)    │
│                                                              │
└─────────────────────────────────────────────────────────────┘

IP Blacklist

┌─────────────────────────────────────────────────────────────┐
│ IP Blacklist                                                 │
├─────────────────────────────────────────────────────────────┤
│                                                              │
│ ☑ Enable IP blacklist                                        │
│                                                              │
│ Blocked IPs:                                                 │
│ ┌─────────────────────────────────────────────────────────┐ │
│ │ 45.33.32.0/24       Known abuser range                  │ │
│ │ 104.244.42.129      Spam bot                            │ │
│ └─────────────────────────────────────────────────────────┘ │
│                                                              │
│ Auto-block after:                                            │
│ ☑ [5] failed download attempts in [1] hour                   │
│ ☑ [10] downloads in [1] minute (rate limit)                  │
│                                                              │
│ Block duration: [24] hours (0 = permanent)                   │
│                                                              │
└─────────────────────────────────────────────────────────────┘

Membership Integration

Supported Plugins

Plugin Integration
MemberPress Full support
Paid Memberships Pro Full support
Restrict Content Pro Full support
WooCommerce Memberships Full support
LearnDash Course access
LifterLMS Membership levels

Membership Level Access

┌─────────────────────────────────────────────────────────────┐
│ Membership Access                                            │
├─────────────────────────────────────────────────────────────┤
│                                                              │
│ Require Membership:                                          │
│ ☑ Enable membership restriction                              │
│                                                              │
│ Required Levels:                                             │
│ ☑ Gold Membership                                            │
│ ☑ Platinum Membership                                        │
│ ☐ Silver Membership                                          │
│ ☐ Bronze Membership                                          │
│                                                              │
│ Logic:                                                       │
│ ○ User must have ANY of selected levels                      │
│ ● User must have ALL selected levels                         │
│                                                              │
│ Non-Member Message:                                          │
│ [Upgrade to Gold or Platinum to access this download   ]    │
│                                                              │
│ Upgrade Link:                                                │
│ [https://yoursite.com/membership-plans/                 ]   │
│                                                              │
└─────────────────────────────────────────────────────────────┘

Purchase-Based Access

Require Purchase

┌─────────────────────────────────────────────────────────────┐
│ Purchase Requirements                                        │
├─────────────────────────────────────────────────────────────┤
│                                                              │
│ ☑ Require purchase to access                                 │
│                                                              │
│ Purchase Type:                                               │
│ ○ Any purchase (existing customers)                          │
│ ● This specific product                                      │
│ ○ Any product from category                                  │
│ ○ Minimum order value                                        │
│                                                              │
│ If "Minimum order value":                                    │
│ Minimum: [$50.00]                                            │
│ Period:  [Lifetime                                     ▼]   │
│                                                              │
│ Grace Period:                                                │
│ ☑ Allow access for [30] days after subscription expires      │
│                                                              │
└─────────────────────────────────────────────────────────────┘

Purchase History Check

Access Logic:
┌─────────────────────────────────────────────────────────────┐
│ 1. Check if user purchased this product      → Yes: Allow   │
│ 2. Check if user has active subscription     → Yes: Allow   │
│ 3. Check if within grace period              → Yes: Allow   │
│ 4. Check if user meets order minimum         → Yes: Allow   │
│ 5. Otherwise                                 → Deny         │
└─────────────────────────────────────────────────────────────┘

Download Quotas

Per-User Limits

┌─────────────────────────────────────────────────────────────┐
│ Download Quotas                                              │
├─────────────────────────────────────────────────────────────┤
│                                                              │
│ ☑ Enable download quotas                                     │
│                                                              │
│ Quota Type:                                                  │
│ ○ Per package                                                │
│ ● Per user (across all packages)                             │
│ ○ By user role                                               │
│                                                              │
│ Quota Settings:                                              │
│ Max downloads: [10] per [day ▼]                              │
│                                                              │
│ By Role:                                                     │
│ ├─ Administrator: Unlimited                                  │
│ ├─ Subscriber:    [5] per day                                │
│ ├─ Customer:      [20] per day                               │
│ └─ Guest:         [2] per day                                │
│                                                              │
│ Quota Reset:                                                 │
│ ○ Rolling window                                             │
│ ● Fixed reset (midnight)                                     │
│                                                              │
│ Quota Exceeded Message:                                      │
│ [You've reached your daily download limit. Try again tomorrow]│
│                                                              │
└─────────────────────────────────────────────────────────────┘

Bandwidth Limits

┌─────────────────────────────────────────────────────────────┐
│ Bandwidth Limits                                             │
├─────────────────────────────────────────────────────────────┤
│                                                              │
│ ☑ Enable bandwidth limits                                    │
│                                                              │
│ Max bandwidth per user:                                      │
│ [500] MB per [day ▼]                                        │
│                                                              │
│ By Role:                                                     │
│ ├─ Administrator: Unlimited                                  │
│ ├─ VIP Customer:  [5] GB per day                             │
│ ├─ Customer:      [1] GB per day                             │
│ └─ Free User:     [100] MB per day                           │
│                                                              │
└─────────────────────────────────────────────────────────────┘

Access Rules

Rule Builder

Create complex access conditions:

┌─────────────────────────────────────────────────────────────┐
│ Access Rules                                                 │
├─────────────────────────────────────────────────────────────┤
│                                                              │
│ Rule 1: VIP Early Access                                     │
│ ┌─────────────────────────────────────────────────────────┐ │
│ │ IF user_group = "VIP Customers"                         │ │
│ │ AND date >= "2026-01-15"                                │ │
│ │ THEN allow_access = true                                │ │
│ └─────────────────────────────────────────────────────────┘ │
│ [Edit] [Delete]                                              │
│                                                              │
│ Rule 2: Regional Restriction                                 │
│ ┌─────────────────────────────────────────────────────────┐ │
│ │ IF country NOT IN ["US", "CA", "UK"]                    │ │
│ │ THEN allow_access = false                               │ │
│ │ ELSE allow_access = check_other_rules                   │ │
│ └─────────────────────────────────────────────────────────┘ │
│ [Edit] [Delete]                                              │
│                                                              │
│ Rule 3: Business Hours Only                                  │
│ ┌─────────────────────────────────────────────────────────┐ │
│ │ IF time_of_day >= "09:00" AND time_of_day <= "17:00"    │ │
│ │ AND day_of_week IN [1,2,3,4,5]                          │ │
│ │ THEN allow_access = true                                │ │
│ └─────────────────────────────────────────────────────────┘ │
│ [Edit] [Delete]                                              │
│                                                              │
│ [+ Add Rule]                                                 │
│                                                              │
│ Rule Priority: Rules evaluated top to bottom                 │
│ First matching rule determines access                        │
│                                                              │
└─────────────────────────────────────────────────────────────┘

Available Conditions

Category Conditions
User Role, ID, Email, Group
Membership Level, Status, Since
Purchase Has purchased, Order value, Recent order
Time Date, Time, Day of week
Location Country, State, City, IP
Device Type, OS, Browser
Custom Meta values, Custom fields

Access Tokens

Generate Access Tokens

For external/API access:

┌─────────────────────────────────────────────────────────────┐
│ Access Tokens                                                │
├─────────────────────────────────────────────────────────────┤
│                                                              │
│ ☑ Enable token-based access                                  │
│                                                              │
│ Generate Token:                                              │
│ User:     [john@example.com                            ▼]   │
│ Package:  [Software Pro v2.0                           ▼]   │
│ Uses:     [10] (0 = unlimited)                               │
│ Expires:  [2026-02-15    ]                                   │
│                                                              │
│ [Generate Token]                                             │
│                                                              │
│ Active Tokens:                                               │
│ ├─ abc123...   john@...   Software Pro   5/10 uses  [Revoke]│
│ ├─ def456...   jane@...   Manual         2/5 uses   [Revoke]│
│ └─ ghi789...   API        All packages   ∞ uses     [Revoke]│
│                                                              │
└─────────────────────────────────────────────────────────────┘

Token Usage

Download URL with token:
https://yoursite.com/download/123/?token=abc123xyz

API access:
curl -H "X-WPDM-Token: abc123xyz" https://yoursite.com/wp-json/wpdm/v1/download/123

Reporting

Access Logs

┌─────────────────────────────────────────────────────────────┐
│ Access Log                                                   │
├─────────────────────────────────────────────────────────────┤
│ Filter: [All     ▼] Date: [Jan 15   ] to [Jan 22   ]        │
├─────────────────────────────────────────────────────────────┤
│ Time        User      Package     Access    Reason          │
├─────────────────────────────────────────────────────────────┤
│ 14:32:05    john      Software    ✓ Allow   VIP member      │
│ 14:28:12    jane      Manual      ✓ Allow   Purchased       │
│ 14:25:44    guest     Software    ✗ Deny    Geo-blocked     │
│ 14:22:18    bob       Templates   ✗ Deny    Quota exceeded  │
│ 14:18:33    alice     Ebook       ✓ Allow   Subscriber      │
└─────────────────────────────────────────────────────────────┘

Access Analytics

Access Overview (Last 30 Days):
├─ Total attempts: 15,234
├─ Allowed: 12,456 (82%)
├─ Denied: 2,778 (18%)
│
Denial Reasons:
├─ Role restriction: 45%
├─ Geo-blocked: 25%
├─ Quota exceeded: 15%
├─ Time restriction: 10%
└─ Other: 5%

Troubleshooting

User Can’t Access

Checklist:

  • Check user role in WordPress
  • Verify membership status
  • Check purchase history
  • Review geo-location
  • Confirm not IP blocked
  • Check time restrictions
  • Review download quota

Unexpected Access

Checklist:

  • Review all access rules
  • Check for conflicting rules
  • Verify group memberships
  • Check token access
  • Review admin overrides

Performance Issues

Solutions:

  • Cache geo-lookups
  • Optimize rule order
  • Reduce rule complexity
  • Enable query caching
  • Review access logs

Best Practices

  • Start restrictive – Easier to grant than revoke
  • Use groups – Easier than individual user management
  • Document rules – Keep track of why rules exist
  • Regular audits – Review access periodically
  • Test thoroughly – Verify rules work as expected
  • Monitor logs – Watch for unusual patterns

Related Documentation


Last updated: January 2026
Applies to: WordPress Download Manager 7.x + Advanced Access Control Add-on

Last updated on January 26, 2026

Need Help?

Get support from our team or community forum.

Visit Support

Customization

Need custom features? We can help.

Request Quote