In a classic web app, the cookie comes with every request, and the check happens every time. In a Blazor Web App with islands, that is true only for some of the pages: a server island checks the sign-in once, when the connection is set up, and a WebAssembly island runs in a browser whose code anyone can read and change. This lesson clarifies who is signed in in which mode, how the knowledge about it gets to WebAssembly, and which check applies where.
Where the Kladde stands
The lesson assumes K2 2.6: cookie sign-in and [Authorize] (K2 2.6.1), Entra ID with Microsoft.Identity.Web (2.6.2), roles and policies (2.6.3) and the permissions matrix (2.6.4). The Kladde has sign-in as the endpoints /sign-in and /sign-out, a fallback policy and, under /internal, the pages with islands from W8.1.1: the calendar (server) and the contact list (WebAssembly). In K2 2.6.3, the app roles are called office and management; this course writes them as Staff and Admin, keep your own role names. The Entra sign-in from K2 2.6.2 stays as it is; the examples here use the development sign-in from 2.6.1, because it can be tested.