diff --git a/modules/account/src/Volo.Abp.Account.Web/AccountModuleToolbarContributor.cs b/modules/account/src/Volo.Abp.Account.Web/AccountModuleToolbarContributor.cs index 1bade3f661..042e843c94 100644 --- a/modules/account/src/Volo.Abp.Account.Web/AccountModuleToolbarContributor.cs +++ b/modules/account/src/Volo.Abp.Account.Web/AccountModuleToolbarContributor.cs @@ -15,11 +15,10 @@ namespace Volo.Abp.Account.Web return Task.CompletedTask; } - //TODO: Currently disabled! - //if (!context.ServiceProvider.GetRequiredService().IsAuthenticated) - //{ - // context.Toolbar.Items.Add(new ToolbarItem(typeof(UserLoginLinkViewComponent))); - //} + if (!context.ServiceProvider.GetRequiredService().IsAuthenticated) + { + context.Toolbar.Items.Add(new ToolbarItem(typeof(UserLoginLinkViewComponent))); + } return Task.CompletedTask; } diff --git a/modules/account/src/Volo.Abp.Account.Web/Modules/Account/Components/Toolbar/UserLoginLink/Default.cshtml b/modules/account/src/Volo.Abp.Account.Web/Modules/Account/Components/Toolbar/UserLoginLink/Default.cshtml index 2331409857..dbe3362c87 100644 --- a/modules/account/src/Volo.Abp.Account.Web/Modules/Account/Components/Toolbar/UserLoginLink/Default.cshtml +++ b/modules/account/src/Volo.Abp.Account.Web/Modules/Account/Components/Toolbar/UserLoginLink/Default.cshtml @@ -1,4 +1,4 @@ @using Localization.Resources.AbpUi @using Microsoft.AspNetCore.Mvc.Localization @inject IHtmlLocalizer L -@L["Login"] +@L["Login"] diff --git a/templates/app/aspnet-core/src/MyCompanyName.MyProjectName.Web.Host/Components/Toolbar/LoginLink/Default.cshtml b/templates/app/aspnet-core/src/MyCompanyName.MyProjectName.Web.Host/Components/Toolbar/LoginLink/Default.cshtml new file mode 100644 index 0000000000..2d6f11c816 --- /dev/null +++ b/templates/app/aspnet-core/src/MyCompanyName.MyProjectName.Web.Host/Components/Toolbar/LoginLink/Default.cshtml @@ -0,0 +1,4 @@ +@using Microsoft.AspNetCore.Mvc.Localization +@using MyCompanyName.MyProjectName.Localization +@inject IHtmlLocalizer L +@L["Login"] diff --git a/templates/app/aspnet-core/src/MyCompanyName.MyProjectName.Web.Host/Components/Toolbar/LoginLink/LoginLinkViewComponent.cs b/templates/app/aspnet-core/src/MyCompanyName.MyProjectName.Web.Host/Components/Toolbar/LoginLink/LoginLinkViewComponent.cs new file mode 100644 index 0000000000..9e6aedb5fc --- /dev/null +++ b/templates/app/aspnet-core/src/MyCompanyName.MyProjectName.Web.Host/Components/Toolbar/LoginLink/LoginLinkViewComponent.cs @@ -0,0 +1,13 @@ +using Microsoft.AspNetCore.Mvc; +using Volo.Abp.AspNetCore.Mvc; + +namespace Volo.Abp.Account.Web.Modules.Account.Components.Toolbar.UserLoginLink +{ + public class LoginLinkViewComponent : AbpViewComponent + { + public virtual IViewComponentResult Invoke() + { + return View("~/Components/Toolbar/LoginLink/Default.cshtml"); + } + } +} diff --git a/templates/app/aspnet-core/src/MyCompanyName.MyProjectName.Web.Host/Menus/MyProjectNameToolbarContributor.cs b/templates/app/aspnet-core/src/MyCompanyName.MyProjectName.Web.Host/Menus/MyProjectNameToolbarContributor.cs new file mode 100644 index 0000000000..a6d24b9ee7 --- /dev/null +++ b/templates/app/aspnet-core/src/MyCompanyName.MyProjectName.Web.Host/Menus/MyProjectNameToolbarContributor.cs @@ -0,0 +1,26 @@ +using System.Threading.Tasks; +using Microsoft.Extensions.DependencyInjection; +using Volo.Abp.Account.Web.Modules.Account.Components.Toolbar.UserLoginLink; +using Volo.Abp.AspNetCore.Mvc.UI.Theme.Shared.Toolbars; +using Volo.Abp.Users; + +namespace MyCompanyName.MyProjectName.Web.Menus +{ + public class MyProjectNameToolbarContributor : IToolbarContributor + { + public virtual Task ConfigureToolbarAsync(IToolbarConfigurationContext context) + { + if (context.Toolbar.Name != StandardToolbars.Main) + { + return Task.CompletedTask; + } + + if (!context.ServiceProvider.GetRequiredService().IsAuthenticated) + { + context.Toolbar.Items.Add(new ToolbarItem(typeof(LoginLinkViewComponent))); + } + + return Task.CompletedTask; + } + } +} diff --git a/templates/app/aspnet-core/src/MyCompanyName.MyProjectName.Web.Host/MyProjectNameWebModule.cs b/templates/app/aspnet-core/src/MyCompanyName.MyProjectName.Web.Host/MyProjectNameWebModule.cs index 23423673e0..45cf23f20c 100644 --- a/templates/app/aspnet-core/src/MyCompanyName.MyProjectName.Web.Host/MyProjectNameWebModule.cs +++ b/templates/app/aspnet-core/src/MyCompanyName.MyProjectName.Web.Host/MyProjectNameWebModule.cs @@ -28,6 +28,7 @@ using Volo.Abp.AspNetCore.Mvc.UI; using Volo.Abp.AspNetCore.Mvc.UI.Bootstrap; using Volo.Abp.AspNetCore.Mvc.UI.Theme.Basic; using Volo.Abp.AspNetCore.Mvc.UI.Theme.Shared; +using Volo.Abp.AspNetCore.Mvc.UI.Theme.Shared.Toolbars; using Volo.Abp.AspNetCore.Serilog; using Volo.Abp.Autofac; using Volo.Abp.AutoMapper; @@ -182,6 +183,11 @@ namespace MyCompanyName.MyProjectName.Web { options.MenuContributors.Add(new MyProjectNameMenuContributor(configuration)); }); + + Configure(options => + { + options.Contributors.Add(new MyProjectNameToolbarContributor()); + }); } private void ConfigureSwaggerServices(IServiceCollection services)