When you sell online courses, forum access is a premium benefit. Students who paid for your photography course should access the photography discussion space. They should not see discussions for the coding course they did not buy. And when their enrollment expires, access should be revoked automatically.
This enrollment-based gating turns your forum into a value-add that justifies course pricing. It also protects course-specific content from non-paying visitors and keeps discussions focused on enrolled students who share the same learning context.
The Access Control Model
Enrollment-gated forums work through three connected layers:
| Layer | What It Controls | Who Manages It |
|---|---|---|
| LMS enrollment | Who is enrolled in which course | Your LMS plugin (LearnDash, Tutor, etc.) |
| Membership adapter | Translates enrollment into forum access | Jetonomy Pro adapter |
| Space join policy | Who can see and post in each space | Jetonomy space settings |
The adapter is the bridge. It listens for enrollment events from your LMS and translates them into forum permissions. When a student enrolls, the adapter adds them to the mapped space. When they unenroll, it removes them. No manual management required.
Supported LMS Platforms
Jetonomy Pro includes built-in adapters for seven LMS platforms:
| LMS | Enrollment Events Supported | Additional Features |
|---|---|---|
| LearnDash | Course enroll, unenroll, expire, group membership | Auto-create spaces, instructor assignment |
| Tutor LMS | Course enroll, unenroll | Instructor as space moderator |
| LifterLMS | Course enroll, membership start/expire | Membership + course gating |
| Sensei LMS | Course enrollment status changes | Enrollment status mapping |
| MasterStudy LMS | Course enroll, unenroll | Course-to-space mapping |
| WooCommerce | Product purchase, subscription lifecycle | Product/subscription-based gating |
| Restrict Content Pro | Membership level changes | Level-to-space mapping |
If you sell courses through WooCommerce (common with LearnDash and LifterLMS), both the LMS adapter and WooCommerce adapter work together. The WooCommerce purchase triggers enrollment, which triggers forum access.
Step-by-Step Setup
Step 1: Create Your Forum Structure
Create spaces that map to your courses. Each course gets its own space:
- Photography 101 Discussion, Q&A type, Invite Only
- Advanced Editing Workshop, Q&A type, Invite Only
- Business of Photography, Q&A type, Invite Only
Set each space’s join policy to Invite Only. This ensures only students added by the adapter can access the space.
Step 2: Enable the LMS Adapter
Go to Jetonomy → Settings → Integrations. Your LMS plugin is auto-detected. Toggle the adapter on.
Step 3: Map Courses to Spaces
In the adapter settings, map each LMS course to its corresponding forum space. The mapping is one-to-one: one course connects to one space (or multiple spaces if your course has per-module discussion areas).
Step 4: Handle Existing Enrollments
When you enable the adapter for an existing course with enrolled students, the adapter syncs current enrollments. All currently enrolled students are added to their respective spaces automatically. This is a one-time sync that runs on activation.
Step 5: Test the Flow
- Enroll a test student in a course
- Verify they can see and post in the course forum space
- Unenroll the test student
- Verify they can no longer access the space

The Enrollment Lifecycle
A student’s forum access follows their enrollment status through every state change:
| Enrollment Event | Forum Action | Student Experience |
|---|---|---|
| Student enrolls | Added to course space(s) | Forum space appears in navigation |
| Student completes course | Access retained (configurable) | Can continue participating as alumni |
| Enrollment expires | Removed from space(s) | Forum space disappears from navigation |
| Student re-enrolls | Re-added to space(s) | Forum space reappears, history preserved |
| Refund processed | Removed from space(s) | Immediate loss of access |
An important detail: when a student is removed from a space, their existing posts and replies remain visible to other enrolled students. The knowledge they contributed persists even after they leave. This is deliberate, the Q&A content has value to current students regardless of the author’s enrollment status.
Multi-Course Students
Students who enroll in multiple courses see all their course spaces in the community navigation. The spaces are organized under a “Courses” category, making it easy to switch between course discussions.
If you offer a bundle (e.g., “All Courses” package), map the bundle product to all course spaces. Purchasing the bundle grants access to every course discussion space at once.
Alumni Access: To Keep or Revoke?
When a student completes a course, should they retain forum access? Both approaches have merit:
Keep Access (Recommended for Most Courses)
- Completed students become mentors to current students
- The community grows richer with experienced voices
- Alumni access is a selling point (“Lifetime community access”)
- Lower churn if you run a subscription model
Revoke Access (For Cohort-Based Programs)
- Each cohort has a fresh, focused discussion space
- Creates urgency to participate while enrolled
- Alumni access can be offered as an upsell
Combining Course and Membership Gating
Some businesses use both course enrollment and membership levels to control forum access. For example:
- Free members see public community spaces only
- Course students see their enrolled course spaces + public spaces
- Premium members see all course spaces + exclusive mastermind space
Jetonomy handles this by evaluating all active adapters. A user’s access is the union of all their entitlements across LMS enrollment, WooCommerce purchases, and membership levels. For the full membership gating setup, see our private forum guide.
Security and Content Protection
Enrollment gating is server-side. It cannot be bypassed by URL guessing or API manipulation:
- Non-enrolled users cannot see course space content in navigation, search results, or direct URL access
- REST API requests return 403 for unauthorized spaces
- Search indexes exclude content from spaces the searcher cannot access
- Sitemaps exclude private space content from search engines
Getting Started
- Install Jetonomy + Jetonomy Pro alongside your LMS (setup guide)
- Enable the appropriate LMS adapter in Settings → Integrations
- Create Invite Only Q&A spaces for each course
- Map courses to spaces in the adapter settings
- Test with a student enrollment/unenrollment cycle
For LMS-specific setup guides, see our posts on LearnDash and Tutor LMS. For the broader student community strategy, read building a student community around your course.
Enrollment gating makes your forum a premium benefit. Students get exclusive access. You get a community that adds tangible value to every course purchase.
Test the Edge Cases, Not Just the Happy Path
The enroll-then-unenroll test above catches the basic case, but the failures that actually surface in support tickets happen at the edges: a refund processed mid-course, a student on two overlapping bundle products, a re-enrollment months later expecting their old thread history back. Run through these before you trust the gating in production.
- Refund a test purchase and confirm space access drops immediately, not on the next cron cycle or cache refresh.
- Enroll a student through both an individual course purchase and a bundle, then remove one entitlement and verify access still holds through the other.
- Re-enroll a previously unenrolled student and confirm their old posts and replies are still attributed to them and visible, not orphaned.
If You Would Rather Not Wire Up a Separate Membership Plugin
Everything above assumes you are keeping your current LMS and adding enrollment-aware forum access on top of it. If your stack still needs a separate membership plugin to handle tiers and content drip, that is one more integration point to maintain and one more plugin update to track. Learnomy folds memberships and content drip into the core free plugin, so tier-to-course assignment and drip scheduling live in the same place as the courses themselves.
- Membership tiers built into the free plugin with no third-party dependency
- Content drip controls when students unlock lessons after enrolling
- Built-in Stripe checkout handles membership billing directly
Learnomy covers memberships and drip in the free version, and Learnomy Pro extends this with structured learning paths and prerequisite gates.
Where Jetonomy Pro Fits Into Enrollment Gating
The adapters, the enrollment lifecycle handling, and the union-of-entitlements access model described above are all Jetonomy Pro features, the free core plugin does not include LMS or WooCommerce adapters on its own. If you are gating course discussions by enrollment, this is the layer that makes it automatic instead of a manual add/remove-members chore every time someone buys or refunds a course. Details are on the Jetonomy Pro page.