Forum Discussion
Custom Authentication in Power BI Report Server
Hello,
we applied this authentication method to our system and it is working fine. We have 6 Report Server as ScaleOuted. But some of our Business Teams wants to be login portal with Windows Authentication. Then we changed on of the servers authentication methods to Windows NTLM. But when we want to login to portal system give us "Could Not Load the Folder Content. Something went wrong Please Try later."
I tried lots of things,
* I removed server from scaled out ( did not run)
* I added new portal url in ReportServerUrl string in reportserver.config
does anyone have any idea what is wrong?
in RSportal log we found below log
2021-01-06 18:44:33.2056|ERROR|6|OData exception occurred: System.Reflection.TargetInvocationException: Exception has been thrown by the target of an invocation. ---> Microsoft.ReportingServices.Diagnostics.Utilities.AuthorizationExtensionException: An error occurred when invoking the authorization extension. ---> System.InvalidOperationException: (security): secDesc != null
at Microsoft.ReportingServices.Diagnostics.Utilities.RSTrace.DefaultRSTraceInternal.Fail(String componentName, String message)
at Microsoft.ReportingServices.Diagnostics.Utilities.RSTrace.Assert(Boolean condition, String message)
at Microsoft.ReportingServices.Authorization.WindowsAuthorization.CheckAccess(String userName, IntPtr userToken, Byte[] secDesc, FolderOperation requiredOperation)
at Microsoft.ReportingServices.Library.Security.<>c__DisplayClass51_1.<CheckAccess>b__0()
at Microsoft.ReportingServices.Diagnostics.ExtensionBoundary.Invoke(Method m)
--- End of inner exception stack trace ---
at Microsoft.ReportingServices.Diagnostics.ExtensionBoundary.Invoke(Method m)
at Microsoft.ReportingServices.Library.Security.CheckAccess(ItemType catItemType, Byte[] secDesc, FolderOperation fldOper, ExternalItemPath folderPath)
at Microsoft.ReportingServices.Library.SecurityCheckCache.CheckAccessForCachedPolicy(ItemType type)
at Microsoft.ReportingServices.Library.CatalogItemDescriptorFactory.BuildFromDbRow(IDataReader reader, CatalogItemDescriptor& itemDescriptor)
at Microsoft.ReportingServices.Library.DBInterface.FindFavoriteableItems(InstrumentedSqlCommand command, FavoriteableCatalogItemList& result, Security secMgr, IPathTranslator pathTranslator, Boolean appendMyReports)
at Microsoft.ReportingServices.Library.DBInterface.FindFavoriteableItemsNonRecursive(ExternalItemPath objectName, FavoriteableCatalogItemList& children, Security secMgr, IPathTranslator pathTranslator, Boolean appendMyReports)
at Microsoft.ReportingServices.Library.ListFavoriteableItemsAction.PerformActionNow()
at Microsoft.ReportingServices.Library.RSSoapAction`1.Execute()
at Microsoft.ReportingServices.Portal.Repositories.CatalogItemRepository.TraverseFolder(IPrincipal userPrincipal, String itemPath, Boolean recursive)
at Model.FolderRepository.LoadCatalogItems()
at Model.Folder.get_CatalogItems()
--- End of inner exception stack trace ---
at Microsoft.ReportingServices.Portal.ODataWebApi.Controllers.SegmentHandlers.PropertySegmentHandler.Handle(Object source, ODataPathSegment segment)
at Microsoft.ReportingServices.Portal.ODataWebApi.Controllers.Reflection.ReflectionODataController`1.Get(ODataPath oDataPath)
at lambda_method(Closure , Object , Object[] )
at System.Web.Http.Controllers.ReflectedHttpActionDescriptor.ActionExecutor.<>c__DisplayClass6_2.<GetExecutor>b__2(Object instance, Object[] methodParameters)
at System.Web.Http.Controllers.ReflectedHttpActionDescriptor.ExecuteAsync(HttpControllerContext controllerContext, IDictionary`2 arguments, CancellationToken cancellationToken)
--- End of stack trace from previous location where exception was thrown ---
at System.Runtime.ExceptionServices.ExceptionDispatchInfo.Throw()
at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task)
at System.Web.Http.Controllers.ApiControllerActionInvoker.<InvokeActionAsyncCore>d__1.MoveNext()
--- End of stack trace from previous location where exception was thrown ---
at System.Runtime.ExceptionServices.ExceptionDispatchInfo.Throw()
at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task)
at System.Web.Http.Filters.ActionFilterAttribute.<CallOnActionExecutedAsync>d__6.MoveNext()
--- End of stack trace from previous location where exception was thrown ---
at System.Runtime.ExceptionServices.ExceptionDispatchInfo.Throw()
at System.Web.Http.Filters.ActionFilterAttribute.<CallOnActionExecutedAsync>d__6.MoveNext()
--- End of stack trace from previous location where exception was thrown ---
at System.Runtime.ExceptionServices.ExceptionDispatchInfo.Throw()
at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task)
at System.Web.Http.Filters.ActionFilterAttribute.<ExecuteActionFilterAsyncCore>d__5.MoveNext()
--- End of stack trace from previous location where exception was thrown ---
at System.Runtime.ExceptionServices.ExceptionDispatchInfo.Throw()
at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task)
at System.Web.Http.Controllers.ActionFilterResult.<ExecuteAsync>d__5.MoveNext()
--- End of stack trace from previous location where exception was thrown ---
at System.Runtime.ExceptionServices.ExceptionDispatchInfo.Throw()
at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task)
Thanks
Sinan