Skip to content

TextAreaView offers editable course exercise fields to users without Update permission, failing on save #5600

Description

@systemorph-com

What is failing

The portal's TextAreaView (course exercise page) presents editable answer fields (Write/Answer1, Write/Answer2) to an unauthenticated ("Anonymous") visitor, and the server-side save throws System.UnauthorizedAccessException because that user lacks Update permission on the target book node. The failure surfaces as a raw logged exception rather than a graceful, permission-aware UI.

Probable cause

Two candidate causes, in order of likelihood:

  1. Missing write-permission preflight in TextAreaView (high confidence the code path is missing a check): the view renders/accepts input without verifying Update permission on the underlying node, so unauthenticated users can attempt a save that is guaranteed to fail. The save handler then lets the UnauthorizedAccessException escape to the logger instead of disabling the editor or showing a permission message.
  2. Misconfigured permissions on the course content (possible contributor): AgenticPrimer/01-TheMagicWish/Exercise/ThreeWishesBook may be intended to be writable by exercise participants, but the Anonymous/course role has no Update grant — i.e. a content-config bug rather than a code bug.

The evidence cannot distinguish between a view that should disable editing vs. content that should grant access; both should be checked starting from the same place.

Impact

Small and contained: 4 occurrences, one portal pod, within a ~0.4-second window (looks like one visitor triggering saves on two fields, each logged twice — likely a retried/double-triggered save). No data loss or corruption; the writes were correctly rejected. The user-visible effect is a broken/blank exercise experience for unauthenticated visitors of the AgenticPrimer course.

Where to look

  • MeshWeaver.Blazor.EntityViews.TextAreaView — the save handler behind the Saving '{value}' in Area {path} log site; add an Update-permission check before rendering the editor, and catch UnauthorizedAccessException in the save path to degrade gracefully.
  • The permissions/ACL configuration on AgenticPrimer/01-TheMagicWish/Exercise/ThreeWishesBook (and its exercise siblings) — verify what Update grants the Anonymous/course-participant role is supposed to have.
  • The per-instance detail is: user Anonymous, target AgenticPrimer/01-TheMagicWish/Exercise/ThreeWishesBook, areas Write/Answer1 and Write/Answer2.

Evidence

Fingerprint b35ae54676dfaf30
Category MeshWeaver.Blazor.EntityViews.TextAreaView
Severity Error
Exception System.UnauthorizedAccessException
Namespace memex-cloud
Pods memex-portal-deployment-7d7f4d84f9-n7g6b
Occurrences 4
First seen 2026-09-23 18:01:05Z
Last seen 2026-09-23 18:01:06Z
Routing not determined — no configured route matches the category MeshWeaver.Blazor.EntityViews.TextAreaView. This repository is the configured fallback, not a finding about who owns the fault; the category names the LOGGER, which may not be the subject.
Recent log lines
2026-09-23 18:01:05Z memex-portal-deployment-7d7f4d84f9-n7g6b fail: MeshWeaver.Blazor.EntityViews.TextAreaView[0]
      Saving 'answer1' in Area Write/Answer1
      System.UnauthorizedAccessException: Access denied: user 'Anonymous' lacks Update permission on 'AgenticPrimer/01-TheMagicWish/Exercise/ThreeWishesBook'
2026-09-23 18:01:05Z memex-portal-deployment-7d7f4d84f9-n7g6b fail: MeshWeaver.Blazor.EntityViews.TextAreaView[0]
      Saving 'answer1' in Area Write/Answer1
      System.UnauthorizedAccessException: Access denied: user 'Anonymous' lacks Update permission on 'AgenticPrimer/01-TheMagicWish/Exercise/ThreeWishesBook'
2026-09-23 18:01:06Z memex-portal-deployment-7d7f4d84f9-n7g6b fail: MeshWeaver.Blazor.EntityViews.TextAreaView[0]
      Saving 'answer2' in Area Write/Answer2
      System.UnauthorizedAccessException: Access denied: user 'Anonymous' lacks Update permission on 'AgenticPrimer/01-TheMagicWish/Exercise/ThreeWishesBook'
2026-09-23 18:01:06Z memex-portal-deployment-7d7f4d84f9-n7g6b fail: MeshWeaver.Blazor.EntityViews.TextAreaView[0]
      Saving 'answer2' in Area Write/Answer2
      System.UnauthorizedAccessException: Access denied: user 'Anonymous' lacks Update permission on 'AgenticPrimer/01-TheMagicWish/Exercise/ThreeWishesBook'

Opened automatically from Admin/_LogIncident/b35ae54676dfaf30. Recurrences are folded into this issue rather than opening new ones.

Activity

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    bugSomething isn't workingsev:MMedium - secondary path broken, or easy workaround

    Type

    No type

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions