Activities of "maliming"

hi

You can call the methods of the application service layer in the web layer. In the application service layer, you can use repositoriy to read and write databases.

I suggest you start with the documentation

https://docs.abp.io/en/abp/latest/Domain-Driven-Design https://docs.abp.io/en/abp/latest/Application-Services https://docs.abp.io/en/abp/latest/Repositories

hi

Can you share some code to reproduce the problem?

hi

You can take a look at this https://support.abp.io/QA/Questions/160/How-to-customize-an-ABP-project

hi @michael.sudnik

The below code is the patch. I will fix this in 4.0.

using System.Linq;
using System.Threading.Tasks;
using Microsoft.AspNetCore.Identity;
using Volo.Abp.Account;
using Volo.Abp.Account.Public.Web.Pages.Account;
using Volo.Abp.DependencyInjection;
using IdentityUser = Volo.Abp.Identity.IdentityUser;

namespace MyApp.Web
{
      [ExposeServices(typeof(MyRegisterModel), typeof(RegisterModel))]
      public class MyRegisterModel : RegisterModel
      {
            protected override async Task RegisterExternalUserAsync(ExternalLoginInfo externalLoginInfo, string emailAddress)
            {
                  var user = new IdentityUser(GuidGenerator.Create(), emailAddress, emailAddress, CurrentTenant.Id);

                  (await UserManager.CreateAsync(user)).CheckErrors();
                  (await UserManager.AddDefaultRolesAsync(user)).CheckErrors();

                  if (!user.EmailConfirmed)
                  {
                        await AccountAppService.SendEmailConfirmationTokenAsync(
                              new SendEmailConfirmationTokenDto
                              {
                                    AppName = "MVC",
                                    Email = emailAddress,
                                    ReturnUrl = ReturnUrl,
                                    ReturnUrlHash = ReturnUrlHash
                              }
                        );
                  }

                  var userLoginAlreadyExists = user.Logins.Any(x =>
                        x.TenantId == user.TenantId &&
                        x.LoginProvider == externalLoginInfo.LoginProvider &&
                        x.ProviderKey == externalLoginInfo.ProviderKey);

                  if (!userLoginAlreadyExists)
                  {
                        user.AddLogin(new UserLoginInfo(
                                    externalLoginInfo.LoginProvider,
                                    externalLoginInfo.ProviderKey,
                                    externalLoginInfo.ProviderDisplayName
                              )
                        );

                        (await UserManager.UpdateAsync(user)).CheckErrors();
                  }

                  await SignInManager.SignInAsync(user, isPersistent: true);
            }
      }
}

hi

It seems there is a problem with mongodb, I will check it. Thank you

hi @rachanee-mwp

You can create a custom ConfigurationSettingValueProvider then read settings via underscore name.


public override void ConfigureServices(ServiceConfigurationContext context)
{
	Configure<AbpSettingOptions>(options =>
	{
		options.ValueProviders.InsertAfter(typeof(ConfigurationSettingValueProvider), typeof(MyConfigurationSettingValueProvider));
	});
}


public class MyConfigurationSettingValueProvider : ISettingValueProvider, ITransientDependency
{
	public const string ConfigurationNamePrefix = "Settings:";

	public const string ProviderName = "MC";

	public string Name => ProviderName;

	protected IConfiguration Configuration { get; }

	public MyConfigurationSettingValueProvider(IConfiguration configuration)
	{
		Configuration = configuration;
	}

	public virtual Task<string> GetOrNullAsync(SettingDefinition setting)
	{
		return Task.FromResult(Configuration[ConfigurationNamePrefix + setting.Name.Replace(".", "_")]);
	}

	public Task<List<SettingValue>> GetAllAsync(SettingDefinition[] settings)
	{
		return Task.FromResult(settings.Select(x => new SettingValue(x.Name, Configuration[ConfigurationNamePrefix + x.Name.Replace(".", "_")])).ToList());
	}
}

hi

I create a mvc project using 4.0.0-rc.3, When I register with my email, it will automatically log in when I log in again.

! 4.0.0 has not yet released the official version, RC is for testing only.

dotnet tool uninstall --global Volo.Abp.Cli && dotnet tool install --global Volo.Abp.Cli --version 4.0.0-rc.3
abp new MyApp -t app-pro -u mvc --mobile none --database-provider ef --csf --preview

hi

I received the mail, I will check, thank you

hi @michael.sudnik

Can you share the ClientId and ClientSecret with me? so that I can test it locally.

liming.ma@volosoft.com

hi jason.smith

Can you create a new quesion?

Showing 6691 to 6700 of 6813 entries
Made with ❤️ on ABP v8.2.0-preview Updated on March 25, 2024, 15:11