完成Web页面登录逻辑
This commit is contained in:
parent
4bb5c1a36b
commit
ea00a9fc16
|
@ -0,0 +1,12 @@
|
||||||
|
using System.Threading.Tasks;
|
||||||
|
using System.Threading;
|
||||||
|
using Volo.Abp.Application.Services;
|
||||||
|
using Volo.Abp.DependencyInjection;
|
||||||
|
|
||||||
|
namespace Sinet.Universal.Admin
|
||||||
|
{
|
||||||
|
public interface IUserAccountAppService : IApplicationService, ITransientDependency
|
||||||
|
{
|
||||||
|
Task<string> LoginByPass(string name, string pass, CancellationToken cancellationToken = default);
|
||||||
|
}
|
||||||
|
}
|
|
@ -1,16 +0,0 @@
|
||||||
using System;
|
|
||||||
using System.Collections.Generic;
|
|
||||||
using System.Linq;
|
|
||||||
using System.Text;
|
|
||||||
using System.Threading.Tasks;
|
|
||||||
using Volo.Abp.Modularity;
|
|
||||||
|
|
||||||
namespace Sinet.Universal.Admin.RCL
|
|
||||||
{
|
|
||||||
[DependsOn(
|
|
||||||
typeof(AdminApplicationContractsModule)
|
|
||||||
)]
|
|
||||||
public class AdminBlazorClientModule
|
|
||||||
{
|
|
||||||
}
|
|
||||||
}
|
|
|
@ -1,5 +1,6 @@
|
||||||
using Microsoft.AspNetCore.Components.Authorization;
|
using Microsoft.AspNetCore.Components.Authorization;
|
||||||
using Microsoft.Extensions.DependencyInjection;
|
using Microsoft.Extensions.DependencyInjection;
|
||||||
|
using Sinet.Universal.Admin.RCL.Services;
|
||||||
using Volo.Abp.Modularity;
|
using Volo.Abp.Modularity;
|
||||||
|
|
||||||
namespace Sinet.Universal.Admin.RCL
|
namespace Sinet.Universal.Admin.RCL
|
||||||
|
@ -15,6 +16,8 @@ namespace Sinet.Universal.Admin.RCL
|
||||||
context.Services.AddScoped<CookieStorage>();
|
context.Services.AddScoped<CookieStorage>();
|
||||||
context.Services.AddScoped<GlobalConfig>();
|
context.Services.AddScoped<GlobalConfig>();
|
||||||
|
|
||||||
|
context.Services.AddScoped<IAppService,BaseAppService>();
|
||||||
|
|
||||||
context.Services.AddScoped<AuthenticationService>();
|
context.Services.AddScoped<AuthenticationService>();
|
||||||
context.Services.AddScoped<CustomAuthenticationStateProvider>();
|
context.Services.AddScoped<CustomAuthenticationStateProvider>();
|
||||||
context.Services.AddScoped<AuthenticationStateProvider>(s => s.GetRequiredService<CustomAuthenticationStateProvider>());
|
context.Services.AddScoped<AuthenticationStateProvider>(s => s.GetRequiredService<CustomAuthenticationStateProvider>());
|
||||||
|
|
|
@ -1,8 +1,21 @@
|
||||||
@using Sinet.Universal.Admin.RCL.Shared
|
@using Sinet.Universal.Admin.RCL.Shared
|
||||||
|
@inherits ProComponentBase
|
||||||
|
<CascadingAuthenticationState>
|
||||||
<Router AppAssembly="@typeof(App).Assembly">
|
<Router AppAssembly="@typeof(App).Assembly">
|
||||||
<Found Context="routeData">
|
<Found Context="routeData">
|
||||||
|
<AuthorizeView>
|
||||||
|
<Authorized>
|
||||||
<RouteView RouteData="@routeData" DefaultLayout="@typeof(MainLayout)" />
|
<RouteView RouteData="@routeData" DefaultLayout="@typeof(MainLayout)" />
|
||||||
<FocusOnNavigate RouteData="@routeData" Selector="h1" />
|
@* <FocusOnNavigate RouteData="@routeData" Selector="h1" /> *@
|
||||||
|
</Authorized>
|
||||||
|
<NotAuthorized>
|
||||||
|
<MApp>
|
||||||
|
<div style="height:100%;margin:0;padding:0;">
|
||||||
|
<Sinet.Universal.Admin.RCL.Pages.Authentication.Login_v1 />
|
||||||
|
</div>
|
||||||
|
</MApp>
|
||||||
|
</NotAuthorized>
|
||||||
|
</AuthorizeView>
|
||||||
</Found>
|
</Found>
|
||||||
<NotFound>
|
<NotFound>
|
||||||
<PageTitle>Not found</PageTitle>
|
<PageTitle>Not found</PageTitle>
|
||||||
|
@ -11,3 +24,17 @@
|
||||||
</LayoutView>
|
</LayoutView>
|
||||||
</NotFound>
|
</NotFound>
|
||||||
</Router>
|
</Router>
|
||||||
|
</CascadingAuthenticationState>
|
||||||
|
|
||||||
|
@code{
|
||||||
|
|
||||||
|
[Inject]
|
||||||
|
IAppService appService { get; set;}
|
||||||
|
|
||||||
|
protected override void OnInitialized()
|
||||||
|
{
|
||||||
|
appService.ReAuthenticate(CurrentUser);
|
||||||
|
base.OnInitialized();
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
|
@ -0,0 +1,17 @@
|
||||||
|
using System;
|
||||||
|
using System.Collections.Generic;
|
||||||
|
using System.Linq;
|
||||||
|
using System.Security.Claims;
|
||||||
|
using System.Text;
|
||||||
|
using System.Threading.Tasks;
|
||||||
|
using Volo.Abp.Users;
|
||||||
|
|
||||||
|
namespace Sinet.Universal.Admin.RCL
|
||||||
|
{
|
||||||
|
public interface IAppService
|
||||||
|
{
|
||||||
|
void ReAuthenticate(ICurrentUser user);
|
||||||
|
|
||||||
|
void AuthenticateUser(IEnumerable<Claim> claims);
|
||||||
|
}
|
||||||
|
}
|
|
@ -214,10 +214,12 @@
|
||||||
</MCol>
|
</MCol>
|
||||||
</MRow>
|
</MRow>
|
||||||
|
|
||||||
<Sinet.Universal.Admin.Web.Pages.App.Invoice.Components.InvoiceList />
|
<Sinet.Universal.Admin.RCL.Pages.App.Invoice.Components.InvoiceList />
|
||||||
|
|
||||||
@code {
|
@code {
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
private List<DataTableHeader<PermissionDto>> _headers = new List<DataTableHeader<PermissionDto>>
|
private List<DataTableHeader<PermissionDto>> _headers = new List<DataTableHeader<PermissionDto>>
|
||||||
{
|
{
|
||||||
new() { Text = "MODULE", Sortable = false, Value = nameof(PermissionDto.Module) },
|
new() { Text = "MODULE", Sortable = false, Value = nameof(PermissionDto.Module) },
|
||||||
|
@ -251,6 +253,14 @@
|
||||||
|
|
||||||
_userData = UserService.GetList().FirstOrDefault(u => u.Id == Id);
|
_userData = UserService.GetList().FirstOrDefault(u => u.Id == Id);
|
||||||
|
|
||||||
|
if (CurrentUser != null && _userData != null)
|
||||||
|
{
|
||||||
|
_userData.UserName = CurrentUser.Name;
|
||||||
|
_userData.Email = CurrentUser.Email;
|
||||||
|
_userData.Mobile = CurrentUser.PhoneNumber;
|
||||||
|
_userData.Role = CurrentUser.Roles.First();
|
||||||
|
}
|
||||||
|
|
||||||
UpdateTabTitle();
|
UpdateTabTitle();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -59,6 +59,8 @@ public class UserPage
|
||||||
|
|
||||||
public List<UserDto> GetPageDatas()
|
public List<UserDto> GetPageDatas()
|
||||||
{
|
{
|
||||||
|
|
||||||
|
|
||||||
return GetFilterDatas().Skip((PageIndex - 1) * PageSize).Take(PageSize).ToList();
|
return GetFilterDatas().Skip((PageIndex - 1) * PageSize).Take(PageSize).ToList();
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
@ -8,14 +8,14 @@
|
||||||
<h5 class="mt-2 mb-12">Welcome to Sinet.Universal.Admin! 👋</h5>
|
<h5 class="mt-2 mb-12">Welcome to Sinet.Universal.Admin! 👋</h5>
|
||||||
|
|
||||||
<MTextField TValue="string"
|
<MTextField TValue="string"
|
||||||
Label="Email"
|
Label="Email" OnInput="NameChanged"
|
||||||
Placeholder="john@example.com"
|
Placeholder="john@example.com"
|
||||||
Outlined
|
Outlined @bind-Value="Name"
|
||||||
HideDetails="@("auto")">
|
HideDetails="@("auto")">
|
||||||
</MTextField>
|
</MTextField>
|
||||||
<MTextField TValue="string"
|
<MTextField TValue="string"
|
||||||
Class="mt-10"
|
Class="mt-10" OnInput="PassChanged"
|
||||||
Label="Password"
|
Label="Password" @bind-Value="Pass"
|
||||||
Type="@(_show ? "text" : "password")"
|
Type="@(_show ? "text" : "password")"
|
||||||
Placeholder="john@example.com"
|
Placeholder="john@example.com"
|
||||||
AppendIcon="@(_show ? "mdi-eye" : "mdi-eye-off")"
|
AppendIcon="@(_show ? "mdi-eye" : "mdi-eye-off")"
|
||||||
|
|
|
@ -20,6 +20,18 @@ public partial class Login
|
||||||
[Parameter]
|
[Parameter]
|
||||||
public StringNumber? Elevation { get; set; }
|
public StringNumber? Elevation { get; set; }
|
||||||
|
|
||||||
|
[Parameter]
|
||||||
|
public string? Name { get; set; }
|
||||||
|
|
||||||
|
[Parameter]
|
||||||
|
public EventCallback<string> NameChanged { get; set; }
|
||||||
|
|
||||||
|
[Parameter]
|
||||||
|
public string? Pass { get; set; }
|
||||||
|
|
||||||
|
[Parameter]
|
||||||
|
public EventCallback<string> PassChanged { get; set; }
|
||||||
|
|
||||||
[Parameter]
|
[Parameter]
|
||||||
public string CreateAccountRoute { get; set; } = $"pages/authentication/register-v1";
|
public string CreateAccountRoute { get; set; } = $"pages/authentication/register-v1";
|
||||||
|
|
||||||
|
|
|
@ -6,7 +6,7 @@
|
||||||
@inject NavigationManager Nav
|
@inject NavigationManager Nav
|
||||||
|
|
||||||
<div class="d-flex align-center" style="height:calc(100% - 96px)">
|
<div class="d-flex align-center" style="height:calc(100% - 96px)">
|
||||||
<Sinet.Universal.Admin.RCL.Pages.Authentication.Components.Login OnLogin="LoginTo" />
|
<Sinet.Universal.Admin.RCL.Pages.Authentication.Components.Login @bind-Name="@UserName" @bind-Pass="@Password" OnLogin="LoginTo" />
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
<MFooter Padless Height=96 Style="background:transparent;">
|
<MFooter Padless Height=96 Style="background:transparent;">
|
||||||
|
@ -14,10 +14,3 @@
|
||||||
<a href="https://beian.miit.gov.cn/" target="_blank" class="neutral-lighten-3--text" style="text-decoration:none;font-size:14px;">浙ICP备2021013592号-1</a>
|
<a href="https://beian.miit.gov.cn/" target="_blank" class="neutral-lighten-3--text" style="text-decoration:none;font-size:14px;">浙ICP备2021013592号-1</a>
|
||||||
</MRow>
|
</MRow>
|
||||||
</MFooter>
|
</MFooter>
|
||||||
|
|
||||||
@code{
|
|
||||||
void LoginTo()
|
|
||||||
{
|
|
||||||
Nav.NavigateTo(GlobalVariables.DefaultRoute, true);
|
|
||||||
}
|
|
||||||
}
|
|
|
@ -0,0 +1,54 @@
|
||||||
|
using System.Security.Claims;
|
||||||
|
using Volo.Abp.Identity;
|
||||||
|
|
||||||
|
namespace Sinet.Universal.Admin.RCL.Pages.Authentication
|
||||||
|
{
|
||||||
|
public partial class Login_v1
|
||||||
|
{
|
||||||
|
[Inject]
|
||||||
|
public IUserAccountAppService UserAccountAppService { get; set; }
|
||||||
|
|
||||||
|
[Inject]
|
||||||
|
public IAppService _appService { get; set; }
|
||||||
|
|
||||||
|
[Inject]
|
||||||
|
public IIdentityUserAppService UserAppService { get; set; }
|
||||||
|
|
||||||
|
[Inject]
|
||||||
|
public IPopupService PopupService { get; set; }
|
||||||
|
|
||||||
|
public string? UserName { get; set; }
|
||||||
|
|
||||||
|
public string? Password { get; set; }
|
||||||
|
|
||||||
|
public async Task LoginTo()
|
||||||
|
{
|
||||||
|
try
|
||||||
|
{
|
||||||
|
//var users = await UserAppService.GetListAsync(new GetIdentityUsersInput());
|
||||||
|
var res = await UserAccountAppService.LoginByPass(UserName, Password);
|
||||||
|
|
||||||
|
if(res == "Succeeded")
|
||||||
|
{
|
||||||
|
var claims = new List<Claim>
|
||||||
|
{
|
||||||
|
new Claim(ClaimTypes.Sid, UserName),
|
||||||
|
new Claim(ClaimTypes.Name, UserName )
|
||||||
|
};
|
||||||
|
//_appService.AuthenticateUser(claims);
|
||||||
|
await PopupService.EnqueueSnackbarAsync("登录成功,正在跳转!", AlertTypes.Success);
|
||||||
|
|
||||||
|
await Task.Delay(1000);
|
||||||
|
Nav.NavigateTo($"/app/redirect_login?name={UserName}&pass={Password}", true);
|
||||||
|
}
|
||||||
|
else
|
||||||
|
await PopupService.EnqueueSnackbarAsync("登录失败!", AlertTypes.Error);
|
||||||
|
|
||||||
|
}
|
||||||
|
catch (Exception ex)
|
||||||
|
{
|
||||||
|
await PopupService.EnqueueSnackbarAsync($"登录失败: {ex.Message}", AlertTypes.Error);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
|
@ -9,7 +9,7 @@
|
||||||
{
|
{
|
||||||
if(firstRender)
|
if(firstRender)
|
||||||
{
|
{
|
||||||
Nav.NavigateTo(GlobalVariables.DefaultLoginRoute, true);
|
Nav.NavigateTo(GlobalVariables.DefaultRoute, false);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
@ -0,0 +1,36 @@
|
||||||
|
using Sinet.Universal.Admin.RCL.Pages.App.User;
|
||||||
|
using System.Security.Claims;
|
||||||
|
using Volo.Abp.Users;
|
||||||
|
using static Volo.Abp.Identity.IdentityPermissions;
|
||||||
|
|
||||||
|
namespace Sinet.Universal.Admin.RCL.Services
|
||||||
|
{
|
||||||
|
public class BaseAppService : IAppService
|
||||||
|
{
|
||||||
|
private readonly CustomAuthenticationStateProvider _authenticationStateProvider;
|
||||||
|
|
||||||
|
public BaseAppService(CustomAuthenticationStateProvider authenticationStateProvider)
|
||||||
|
{
|
||||||
|
_authenticationStateProvider = authenticationStateProvider;
|
||||||
|
}
|
||||||
|
|
||||||
|
public void AuthenticateUser(IEnumerable<Claim> claims)
|
||||||
|
{
|
||||||
|
_authenticationStateProvider.AuthenticateUser(claims);
|
||||||
|
}
|
||||||
|
|
||||||
|
public void ReAuthenticate(ICurrentUser user)
|
||||||
|
{
|
||||||
|
if(user != null && user.IsAuthenticated)
|
||||||
|
{
|
||||||
|
var claims = new List<Claim>
|
||||||
|
{
|
||||||
|
new Claim(ClaimTypes.Sid, user.Id.ToString()),
|
||||||
|
new Claim(ClaimTypes.Name, user.Name )
|
||||||
|
};
|
||||||
|
AuthenticateUser(claims);
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
|
@ -17,6 +17,7 @@
|
||||||
<PackageReference Include="Microsoft.AspNetCore.Components.Authorization" Version="7.0.13" />
|
<PackageReference Include="Microsoft.AspNetCore.Components.Authorization" Version="7.0.13" />
|
||||||
<PackageReference Include="Microsoft.AspNetCore.Components.Web" Version="7.0.13" />
|
<PackageReference Include="Microsoft.AspNetCore.Components.Web" Version="7.0.13" />
|
||||||
<PackageReference Include="Volo.Abp.AspNetCore.Components" Version="7.4.1" />
|
<PackageReference Include="Volo.Abp.AspNetCore.Components" Version="7.4.1" />
|
||||||
|
<PackageReference Include="Volo.Abp.Identity.AspNetCore" Version="7.4.1" />
|
||||||
</ItemGroup>
|
</ItemGroup>
|
||||||
|
|
||||||
<ItemGroup>
|
<ItemGroup>
|
||||||
|
@ -36,7 +37,7 @@
|
||||||
</ItemGroup>
|
</ItemGroup>
|
||||||
|
|
||||||
<ItemGroup>
|
<ItemGroup>
|
||||||
<Folder Include="Services\" />
|
<Folder Include="Base\" />
|
||||||
</ItemGroup>
|
</ItemGroup>
|
||||||
|
|
||||||
</Project>
|
</Project>
|
||||||
|
|
|
@ -179,7 +179,6 @@
|
||||||
"Children": [
|
"Children": [
|
||||||
{
|
{
|
||||||
"Id": 28,
|
"Id": 28,
|
||||||
"Hide": true,
|
|
||||||
"Title": "Account Settings",
|
"Title": "Account Settings",
|
||||||
"Icon": "mdi-circle",
|
"Icon": "mdi-circle",
|
||||||
"Href": "pages/others/account-settings"
|
"Href": "pages/others/account-settings"
|
||||||
|
|
|
@ -0,0 +1,73 @@
|
||||||
|
using System.Threading;
|
||||||
|
using System.Threading.Tasks;
|
||||||
|
using Volo.Abp.Application.Services;
|
||||||
|
using Microsoft.Extensions.Logging;
|
||||||
|
using Microsoft.AspNetCore.Authorization;
|
||||||
|
using System;
|
||||||
|
using Volo.Abp.Account.Settings;
|
||||||
|
using Volo.Abp.Settings;
|
||||||
|
using Volo.Abp;
|
||||||
|
using Microsoft.AspNetCore.Identity;
|
||||||
|
using Microsoft.Extensions.Options;
|
||||||
|
using Volo.Abp.Identity;
|
||||||
|
using Volo.Abp.Identity.AspNetCore;
|
||||||
|
using Microsoft.AspNetCore.Mvc;
|
||||||
|
|
||||||
|
namespace Sinet.Universal.Admin
|
||||||
|
{
|
||||||
|
public class UserAccountAppService : ApplicationService, IUserAccountAppService
|
||||||
|
{
|
||||||
|
private readonly ILogger<ServerInfoAppService> _logger;
|
||||||
|
|
||||||
|
protected AbpSignInManager SignInManager { get; }
|
||||||
|
protected IdentityUserManager UserManager { get; }
|
||||||
|
protected UserManager<Volo.Abp.Identity.IdentityUser> _userManager { get; }
|
||||||
|
protected ISettingProvider SettingProvider { get; }
|
||||||
|
protected IdentitySecurityLogManager IdentitySecurityLogManager { get; }
|
||||||
|
protected IOptions<IdentityOptions> IdentityOptions { get; }
|
||||||
|
|
||||||
|
|
||||||
|
public UserAccountAppService(
|
||||||
|
ILogger<ServerInfoAppService> logger
|
||||||
|
, AbpSignInManager signInManager
|
||||||
|
, UserManager<Volo.Abp.Identity.IdentityUser> userManager
|
||||||
|
)
|
||||||
|
{
|
||||||
|
_logger = logger;
|
||||||
|
SignInManager = signInManager;
|
||||||
|
_userManager = userManager;
|
||||||
|
}
|
||||||
|
|
||||||
|
public async Task<string> LoginByPass(string name, string pass, CancellationToken cancellationToken = default)
|
||||||
|
{
|
||||||
|
_logger.LogInformation("LoginByPass");
|
||||||
|
|
||||||
|
var user = await _userManager.FindByNameAsync(name);
|
||||||
|
if(user == null)
|
||||||
|
{
|
||||||
|
return null;
|
||||||
|
}
|
||||||
|
|
||||||
|
var result = await SignInManager.CheckPasswordSignInAsync(user, pass, false);
|
||||||
|
|
||||||
|
if(result.Succeeded)
|
||||||
|
return result.ToString();
|
||||||
|
|
||||||
|
return null;
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
[HttpGet("app/redirect_login")]
|
||||||
|
public async Task<IActionResult> RedirectLogin(string name, string pass, string redirect = null, CancellationToken cancellationToken = default)
|
||||||
|
{
|
||||||
|
var result = await SignInManager.PasswordSignInAsync(name, pass, false, false);
|
||||||
|
|
||||||
|
if (result.Succeeded)
|
||||||
|
{
|
||||||
|
return new RedirectResult(redirect??"/");
|
||||||
|
}
|
||||||
|
|
||||||
|
return null;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
|
@ -1,7 +1,10 @@
|
||||||
using Volo.Abp.Account;
|
using Microsoft.AspNetCore.Identity;
|
||||||
|
using Microsoft.Extensions.DependencyInjection;
|
||||||
|
using Volo.Abp.Account;
|
||||||
using Volo.Abp.AutoMapper;
|
using Volo.Abp.AutoMapper;
|
||||||
using Volo.Abp.FeatureManagement;
|
using Volo.Abp.FeatureManagement;
|
||||||
using Volo.Abp.Identity;
|
using Volo.Abp.Identity;
|
||||||
|
using Volo.Abp.Identity.AspNetCore;
|
||||||
using Volo.Abp.Modularity;
|
using Volo.Abp.Modularity;
|
||||||
using Volo.Abp.PermissionManagement;
|
using Volo.Abp.PermissionManagement;
|
||||||
using Volo.Abp.SettingManagement;
|
using Volo.Abp.SettingManagement;
|
||||||
|
@ -21,6 +24,17 @@ namespace Sinet.Universal.Admin;
|
||||||
)]
|
)]
|
||||||
public class AdminApplicationModule : AbpModule
|
public class AdminApplicationModule : AbpModule
|
||||||
{
|
{
|
||||||
|
|
||||||
|
//public override void PreConfigureServices(ServiceConfigurationContext context)
|
||||||
|
//{
|
||||||
|
// PreConfigure<IdentityBuilder>(identityBuilder =>
|
||||||
|
// {
|
||||||
|
// identityBuilder.AddSignInManager<AbpSignInManager>()
|
||||||
|
// .AddUserValidator<AbpIdentityUserValidator>(); ;
|
||||||
|
// });
|
||||||
|
// base.PreConfigureServices(context);
|
||||||
|
//}
|
||||||
|
|
||||||
public override void ConfigureServices(ServiceConfigurationContext context)
|
public override void ConfigureServices(ServiceConfigurationContext context)
|
||||||
{
|
{
|
||||||
Configure<AbpAutoMapperOptions>(options =>
|
Configure<AbpAutoMapperOptions>(options =>
|
||||||
|
|
|
@ -16,6 +16,7 @@
|
||||||
<ItemGroup>
|
<ItemGroup>
|
||||||
<PackageReference Include="Volo.Abp.Account.Application" Version="7.4.1" />
|
<PackageReference Include="Volo.Abp.Account.Application" Version="7.4.1" />
|
||||||
<PackageReference Include="Volo.Abp.Identity.Application" Version="7.4.1" />
|
<PackageReference Include="Volo.Abp.Identity.Application" Version="7.4.1" />
|
||||||
|
<PackageReference Include="Volo.Abp.Identity.AspNetCore" Version="7.4.1" />
|
||||||
<PackageReference Include="Volo.Abp.PermissionManagement.Application" Version="7.4.1" />
|
<PackageReference Include="Volo.Abp.PermissionManagement.Application" Version="7.4.1" />
|
||||||
<PackageReference Include="Volo.Abp.TenantManagement.Application" Version="7.4.1" />
|
<PackageReference Include="Volo.Abp.TenantManagement.Application" Version="7.4.1" />
|
||||||
<PackageReference Include="Volo.Abp.FeatureManagement.Application" Version="7.4.1" />
|
<PackageReference Include="Volo.Abp.FeatureManagement.Application" Version="7.4.1" />
|
||||||
|
|
|
@ -85,6 +85,7 @@ public class AdminBlazorModule : AbpModule
|
||||||
options.UseLocalServer();
|
options.UseLocalServer();
|
||||||
options.UseAspNetCore();
|
options.UseAspNetCore();
|
||||||
});
|
});
|
||||||
|
builder.AddServer(options => { options.UseAspNetCore().DisableTransportSecurityRequirement(); });
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -19,7 +19,7 @@
|
||||||
"commandName": "Project",
|
"commandName": "Project",
|
||||||
"dotnetRunMessages": "true",
|
"dotnetRunMessages": "true",
|
||||||
"launchBrowser": true,
|
"launchBrowser": true,
|
||||||
"applicationUrl": "https://localhost:44351/",
|
"applicationUrl": "http://localhost:44351/",
|
||||||
"environmentVariables": {
|
"environmentVariables": {
|
||||||
"ASPNETCORE_ENVIRONMENT": "Development"
|
"ASPNETCORE_ENVIRONMENT": "Development"
|
||||||
}
|
}
|
||||||
|
|
|
@ -1,13 +1,13 @@
|
||||||
{
|
{
|
||||||
"App": {
|
"App": {
|
||||||
"SelfUrl": "https://localhost:44351",
|
"SelfUrl": "http://localhost:44351",
|
||||||
"RedirectAllowedUrls": "https://localhost:44351"
|
"RedirectAllowedUrls": "http://localhost:44351"
|
||||||
},
|
},
|
||||||
"ConnectionStrings": {
|
"ConnectionStrings": {
|
||||||
"Default": "Server=localhost;Port=3306;Database=su-admin;Uid=root;Pwd=123456;"
|
"Default": "Server=localhost;Port=3306;Database=su-admin;Uid=root;Pwd=123456;"
|
||||||
},
|
},
|
||||||
"AuthServer": {
|
"AuthServer": {
|
||||||
"Authority": "https://localhost:44351",
|
"Authority": "http://localhost:44351",
|
||||||
"RequireHttpsMetadata": "false"
|
"RequireHttpsMetadata": "false"
|
||||||
},
|
},
|
||||||
"StringEncryption": {
|
"StringEncryption": {
|
||||||
|
|
Loading…
Reference in New Issue