1

For SSRS 2017 Form Authentication, I have followed the instructions based on the Microsoft Sample (https://github.com/Microsoft/Reporting-Services/tree/master/CustomSecuritySample) and also (https://www.linkedin.com/pulse/ssrs-2017-anonymous-authentication-problem-solved-frans-van-der-geer/), in my Local Machine it works good. But when I did the same steps in Windows Server 2016, it is not working. In the SSRS Log File (ReportingServicesService_2021_08_12_00_09_42.log) it shows as below Error.

SSRS 2017 Version 14.0.600.1669

extensionfactory!ReportServer_0-3!66d8!08/12/2021-08:54:52:: e ERROR: Exception caught instantiating None report server extension: System.IO.FileLoadException: Could not load file or assembly 'Microsoft.Samples.ReportingServices.AnonymousSecurity, Version=1.0.0.0, Culture=neutral, PublicKeyToken=null' or one of its dependencies. Failed to grant permission to execute. (Exception from HRESULT: 0x80131418)
File name: 'Microsoft.Samples.ReportingServices.AnonymousSecurity, Version=1.0.0.0, Culture=neutral, PublicKeyToken=null' ---> System.Security.Policy.PolicyException: Execution permission cannot be acquired.
   at System.Security.SecurityManager.ResolvePolicy(Evidence evidence, PermissionSet reqdPset, PermissionSet optPset, PermissionSet denyPset, PermissionSet& denied, Boolean checkExecutionPermission)
   at System.Security.SecurityManager.ResolveCasPolicy(Evidence evidence, PermissionSet reqdPset, PermissionSet optPset, PermissionSet denyPset, PermissionSet& denied, Int32& securitySpecialFlags, Boolean checkExecutionPermission)
   at System.Reflection.RuntimeAssembly._nLoad(AssemblyName fileName, String codeBase, Evidence assemblySecurity, RuntimeAssembly locationHint, StackCrawlMark& stackMark, IntPtr pPrivHostBinder, Boolean throwOnFileNotFound, Boolean forIntrospection, Boolean suppressSecurityChecks)
   at System.Reflection.RuntimeAssembly.InternalLoadAssemblyName(AssemblyName assemblyRef, Evidence assemblySecurity, RuntimeAssembly reqAssembly, StackCrawlMark& stackMark, IntPtr pPrivHostBinder, Boolean throwOnFileNotFound, Boolean forIntrospection, Boolean suppressSecurityChecks)
   at System.Reflection.RuntimeAssembly.InternalLoad(String assemblyString, Evidence assemblySecurity, StackCrawlMark& stackMark, IntPtr pPrivHostBinder, Boolean forIntrospection)
   at System.Reflection.RuntimeAssembly.InternalLoad(String assemblyString, Evidence assemblySecurity, StackCrawlMark& stackMark, Boolean forIntrospection)
   at System.Reflection.Assembly.Load(String assemblyString)
   at Microsoft.ReportingServices.Diagnostics.ExtensionClassFactory.LoadAssembly(String name)
   at Microsoft.ReportingServices.Diagnostics.ExtensionClassFactory.<>c__DisplayClass2.<CreateExtensionObject>b__0()
   at Microsoft.ReportingServices.Diagnostics.RevertImpersonationContext.<>c__DisplayClass1.<Run>b__0(Object state)
   at System.Security.SecurityContext.Run(SecurityContext securityContext, ContextCallback callback, Object state)
   at Microsoft.ReportingServices.Diagnostics.RevertImpersonationContext.Run(ContextBody callback)
   at Microsoft.ReportingServices.Diagnostics.ExtensionClassFactory.CreateExtensionObject(Extension extConfig, Boolean typeOnly)

.
library!ReportServer_0-3!66d8!08/12/2021-08:54:52:: e ERROR: Throwing Microsoft.ReportingServices.Diagnostics.Utilities.ServerConfigurationErrorException: Could not load Authentication extension, Microsoft.ReportingServices.Diagnostics.Utilities.ServerConfigurationErrorException: The report server has encountered a configuration error. ;

Am I missing any configuration?

By seeing this error, did any one came across this issue and resolved?

P S Felix
  • 11
  • 3

1 Answers1

0

Finally fixed with the Microsoft Team's Support by Unblock the DLLs in the Server. Usually, when any files are copied from other computer, by default Windows Server has a protection by blocking those files. Only by check the Unblock checkbox in the File Properties -> General Tab at the bottom, you will find a checkbox saying

This file came from another computer and might be blocked to help protect this computer

enter image description here

Once after this is checked and then start the Report Server and I am able to see the Logon.aspx Page working good. Finally got the Solution.

enter image description here

The above steps is not only for SSRS, for any file that is copied to the Windows Server's Drive, it will protect the file and if it is not accessible, you have to follow the same steps.

P S Felix
  • 11
  • 3