Customizing login and other account UI MVC

You can easily override the UI of Turnkey and custom-built web apps using the MDriven.ASPNETIdentity implementation by following this strategy.

RECOMMENDED: This is the new way to override Account views with ViewModels

Create ViewModels named AccountLogin, AccountRegister, AccountManage. If these are found, we give you complete control of the login process. There is a complete merge model available at GitHub called AccountViewOverride.

The common scenario of detecting deep links to ViewModels, discover authentication need, authenticate with OpenId, and then redirect back to the deeplink the user started with: Deeplink with authentication

Valid authentication types depend on whether you have added your own, but the default types are:

  • Facebook
  • Google
  • Microsoft
  • Twitter
  • OpenIdConnect
  • OAuth
  • ActiveDirectory
  • Jwt
  • Cookies

OLDER: Below is a the description of the original override strategy which allowed you to replace the html files for account views

  • This is explained in the context of MDriven Turnkey but will follow the same pattern for other applications using MDriven.ASPNETIdentity.
  1. Remember that the Account controller has different implementations for MVC4(.net5+) and MVC4 (framework 4.7). The override behaves the same for both controllers (AccountControllerBase and AccountControllerBaseForCore) - but views differ slightly. Using core views on Framework will probably not work well and vice versa.
  2. The controller has been given a new string property AccountOverride. If this is assigned, all account cshtml views will be sought after first in Views/Account/EXT_AccountOverride/<AccountOverride-value>
  3. If the sought-after UI is not found in the override position, the standard position will be used: Views/Account. This is also true if AccountOverride is null or empty.
    2022-03-08 18h56 00.png
    In the image above, the Login and Register have been overridden and will come into play only if the AccountController.AccountOverride == "test" (since the folder is named test).
  4. In MDriven Turnkey, give a value to AccountController.AccountOverride by implementing a string attribute on SysSingleton:
    2022-03-08 19h00 12.png
    • By using different means to give value to SysSingleton.AccountOverride, you can influence what override folder of possibly many (test, consumer, admin, or whatever else) you want to show to a user interacting with any of the many views of the account controller.
  5. To get the override UI distributed and applied to your server, we suggest you use the AssetsTK strategy.

Example:

2022-03-08 19h07 00.png
2022-03-08 19h08 42.png

Templates

File:Account override templates.zip

This page was edited 9 days ago on 11/27/2024. What links here