I have a problem with ASP.NET in conjunction with Unity. Today the constructors of my controllers which require authenticated users have some parameters which can only be populated by Unity if the calling user is authenticated. If I call the URL which leads to such a controller UNAUTHENTICATED, the ASP.NET MVC pipeline tries to create the controller and Unit throws an exception because the required objects does not exist in the container. For the authentication I am using WSFederationAuthenticationModule and SessionAuthenticationModule and in the web.config I configured "Forms" as the authentication mode to force ASP.NET to redirect to the login page. I expected that the pipeline does not create a controller instance if the user is unauthenticated but redirects directly to the login page.
1
There are 1 best solutions below
Related Questions in AUTHENTICATION
- Authenticate Flask rest API
- Sends a personalised error message from the back-end to the front-end with Nuxt-auth
- How to connect Spotify PKCE Authorization Boilerplate to Login-Button in React
- Laravel SPA auth with Sanctum
- _supabaseClient__WEBPACK_IMPORTED_MODULE_1__.supabase.auth.signIn is not a function
- My openID Authentication return 'You must have either https wrappers or curl enabled.'
- How to detect the Minimization of Custom Chrome Tabs on Android?
- Wordpress redirect to homepage after successfully logged in
- How to modify the prebuilt UI of authentication in aws amplify version 6 in React Native
- Creating a login system for my website, navlist not working?
- Receiving 400 bad request on post when customer auth handler is used
- Creating Azure B2B login system with Vue.js frontend & Python Django backend
- Gradio chatbot: how to export individual conversation histories?
- Set-Cookie header not forwarded by nginx to the client
- git asking for authentication when auth.json is present while running composer update
Related Questions in DEPENDENCY-INJECTION
- How to add logging to an abstract class in php
- Nest.js can't resolve dependencies of the external library's Reflector dependency
- Do we need IoC containers in typescript if ts-mock-imports exists
- Blazor/Razor resolve components using dependency injection
- Access Registed Scoped Services and Transient Services using GetService()
- using state data class alongside ComposeDestinations
- Messing up with conflict between spring jcl and commons-logging.jar
- How to write pytest tests for a FastAPI route involving dependency injection with Pydantic models using Annotated and Depends?
- .NET Core Include Method in Dependency Injection
- Injecting IHubContext into my background service for SignalR in .NET 5
- Issue with service method call in .NET Background Service , Issue with Scope
- How can I inject the prisma io module using inversify in my node.js project?
- Angular service injection hierarchy
- Trouble with "dotnet run seeddata" when trying to seed a database with EntityFrameworkCore. Specifically with ASP.NET Core 6 Web API
- NX Angular unit tests fail because of NullInjectorError
Related Questions in ASP.NET-MVC-5
- Set SignalR connection specific origin does not work in asp,net mvc 4.8
- I want to connect to an Oracle database with my ASP.NET MVC web application
- HTTP Error 401.0 - Unauthorized You do not have permission to view this directory or page when running ASP.NET MVC 5 app from VS 2019 & IIS Express
- C# MVC5 Routing for both default and Area without adding "Area" in the routeValues
- ASP.NET MVC 5 / Dev Extreme HTML Editor Control / Azure Pipeline build partial generation issues?
- ASP.NET MVC route by a city then controller and action
- How to add async to resource file while using @Styles.Render in ASP.NET bundling?
- Asp.Net MVC5 survey-jquery - node_modules/survey-jquery/survey-jquery.d.ts' is not a module
- Can't add data into ViewModel DbSet
- MVC 5 Redirect the user to a page based on CultureInfo
- Changing DATETIMEOFFSET Values globally across the application using culture in C# & ASP.NET MVC5
- ASP.NET MVC 5 : render partial view blocking the navigation
- OWIN Facebook login throws JsonReaderException
- Bypass validations in ASP.NET MVC 5
- How can I replicate the functionality of IgnoreQueryFilter() in EF6?
Related Questions in CONTROLLER-FACTORY
- Controllers created by System.Web.Mvc.IControllerFactory.CreateController are not disposed
- Issue with passing constructor parameter via controller factory
- ASP.NET Core 3 - Overriding the default ControllerFactory on custom, how save it call in else cases?
- Modify ControllerContext in CreateController method of DefaultControllerFactory in asp.net core mvc
- How to create new controller in runtime?
- Seems No Controllers Recognized by my controller factory
- what exactly ObjectFactory is, and, whats is it used for?
- Dependency injection in constructor of controller with using a ControllerFactory in ASP.NET MVC 5
- Implementing Custom Controller Factory involving multiple Assemblies
- Creating a Custom Controller Factory in ASP.NET MVC
- ASP.NET MVC creates controllers which require authentication although the user is unauthenticated which leads to a dependency injection issue
- How do I get Web API / Castle Windsor to recognize a Controller?
- How do I set a custom controller factory in Orchard?
- JavaFX custom controller factory
- Custom ControllerFactory does not replace DefaultControllerFactory when there is a controller collision
Trending Questions
- UIImageView Frame Doesn't Reflect Constraints
- Is it possible to use adb commands to click on a view by finding its ID?
- How to create a new web character symbol recognizable by html/javascript?
- Why isn't my CSS3 animation smooth in Google Chrome (but very smooth on other browsers)?
- Heap Gives Page Fault
- Connect ffmpeg to Visual Studio 2008
- Both Object- and ValueAnimator jumps when Duration is set above API LvL 24
- How to avoid default initialization of objects in std::vector?
- second argument of the command line arguments in a format other than char** argv or char* argv[]
- How to improve efficiency of algorithm which generates next lexicographic permutation?
- Navigating to the another actvity app getting crash in android
- How to read the particular message format in android and store in sqlite database?
- Resetting inventory status after order is cancelled
- Efficiently compute powers of X in SSE/AVX
- Insert into an external database using ajax and php : POST 500 (Internal Server Error)
Popular # Hahtags
Popular Questions
- How do I undo the most recent local commits in Git?
- How can I remove a specific item from an array in JavaScript?
- How do I delete a Git branch locally and remotely?
- Find all files containing a specific text (string) on Linux?
- How do I revert a Git repository to a previous commit?
- How do I create an HTML button that acts like a link?
- How do I check out a remote Git branch?
- How do I force "git pull" to overwrite local files?
- How do I list all files of a directory?
- How to check whether a string contains a substring in JavaScript?
- How do I redirect to another webpage?
- How can I iterate over rows in a Pandas DataFrame?
- How do I convert a String to an int in Java?
- Does Python have a string 'contains' substring method?
- How do I check if a string contains a specific word?
That's the root of your problem. This means that the constructor of that service does too much. Constructors should not do more than store the incoming dependencies. This way you can compose object graphs with confidence.
The building of object graphs should in general be static. This means that the resolved object graph should not change based on runtime conditions (there are exceptions, but this is a good rule of thumb). It shouldn't matter whether or not a user is authorized or not, the service class should still be composed and injected. This means that authorization and loading of data is done at a later point in time; the moment that the request is actually executed (which is directly after the object graph is composed).
So instead of doing this work in the constructor, move this work to the moment that the action method is executed. You can move this logic to a service that does the authentication, use a filter attribute, or implement this using a decorator.