Symptoms

When you try and access Spira, you will see a malformed error message that looks something like this:

You specifically won't see any errors logged from Spira into the Windows Event Log. That is actually the cause of the problem.

The Cause

When you look at the list of .NET Trust Levels available in IIS you will see the following:

  • Full (internal) - Specifies unrestricted permissions. Grants the ASP.NET application permissions to access any resource that is subject to operating system security. All privileged operations are supported.
  • High (web_hightrust.config) - Specifies a high level of code access security, which means that the application cannot do any one of the following things by default:
    • Call unmanaged code.
    • Call serviced components.
    • Write to the event log.
    • Access Message Queuing service queues.
    • Access ODBC, OleDb, or Oracle data sources.
  • Medium (web_mediumtrust.config) - Specifies a medium level of code access security, which means that, in addition to High Trust Level restrictions, the ASP.NET application cannot do any of the following things by default:
    • Access files outside the application directory.
    • Access the registry.
    • Make network or Web service calls.
  • Low (web_lowtrust.config) - Specifies a low level of code access security, which means that, in addition to Medium Trust Level restrictions, the application cannot do any of the following things by default:
    • Write to the file system.
    • Call the Assert method.
  • Minimal (web_minimaltrust.config) - Specifies a minimal level of code access security, which means that the application has only execute permissions.

The problem is that Spira writes error logging and other diagnostic information to the Windows Event Log on the server. This is intentional and lets you integrate Spira to a Security Information and Event Management (SIEM). So how do we solve it.

The Solution

Open up the IIS Management Console on the web server. Then navigate to the .NET Trust Levels section:

Make sure  that it is set to the Full (Internal) level.

You can see all of the possible levels below: