can we make tomorrow at 6 am gmt?
hi liangshiwei to be noted Auth, Host & front are deployed in ONE IIS server in a local network (NOT connected the internet).
Step One I run the DBMigrator in the local network to create the database.
Step Two i deployed auth with url https://xyz/tmsauth and it works fine with no errors in log file.
Step Three i deployed host with url https://xyz/tmshost and have made changes in the SQL Database in OpenIddictApplications table to match with the new Uris. swagger was not working because of the root url and then i have changed the SwaggerEndpoint in TMSHttpApiHostModule.cs and now swagger works fine and could get authorized and execute endpoints. log file shows one error repeatedly: GetHealthReport Threw an exception when trying to get report from /health-status configured with name TMS Health Status.
Step Four i replaced font-bundle.css & font-bundle.rtl.css with local files in angular.json.
Step Five deployed front with url https://xyz:4200. first error i got was invalid issuer in discovery document expected: https://xyz/tmsauth/ current: https://xyz/tmsauth I double checked the last '/' was there but still throwing the same error and then i removed the last '/' from the environment.prod.ts file, so the new oAuthConfig issuer = 'https://xyz/tmsauth' and the error disappeared. i had some CORS policy errors but i got them fixed.
After that i got to the blank page with no errors, as mentioned above the network tab in developer tool stop in the request number 25.
We are facing this issue for few weeks without any progress. When running the application on development environment (connected to the internet), the project run smoothly with only one issue; it only work on edge browser. It shows blank page when i use chrome browser, which is fine as long as it works.
the problem am facing is when deploying the project to local network IIS server. The host and auth are running fine and could open swagger and get authorized and execute endpoints. how ever, when opening the front end it only shows blank page with no error in the console tap in developer tool. The network tap shows 25 requests only which i think it should make 50++ request but i don't know why it stops in the request number 25. the last request goes to application-localization with status code 200.
to be noted i have replaced font-bundle.css & font-bundle.rtl.css with local files to be noted as well i have used angular material in some pages in the project.
Auth logs file no error Host logs file shows one error repeatedly: GetHealthReport Threw an exception when trying to get report from /health-status configured with name TMS Health Status.
in environment.ts file under oAuthConfig issuer = 'https://localhost:44372/' "Original" in environment.prod.ts file under oAuthConfig issuer i used 'https://xyz/tmsauth' without the last slash. because when i use the last slash it was throwing 2 errors:
I copy my project to other pc offline , project its open but it show blank screen (white screen) and there are no errors in inspect , how I can solve this problem ?
Project Info: ABP Framework version: 7.0.1 UI Type: Angular Database System: EF Core (SQL Server) Tiered (for MVC) or Auth Server Separated (for Angular): yes
I use abp version 7.4.2 this error show , when I run AuthServer or when redirect to login page
Thnx , it worked
I want to order by the extra Propeties , I have a column in database Called RankOrder , I tried this
` order by user.GetProperty
`
its not working , any suggestions please
hide tenant switch
You can remove the
CookieTenantResolveContributor
Configure<AbpTenantResolveOptions>(options => { options.TenantResolvers.RemoveAll((x => x.Name == CookieTenantResolveContributor.ContributorName)); });
the system directoly knows which tenant
You can custom the
LoginModel
. for example:[ExposeServices(typeof(LoginModel))] public class MyLoginModel : OpenIddictSupportedLoginModel { private readonly ITenantRepository _tenantRepository; public MyLoginModel( IAuthenticationSchemeProvider schemeProvider, IOptions<AbpAccountOptions> accountOptions, IAbpRecaptchaValidatorFactory recaptchaValidatorFactory, IAccountExternalProviderAppService accountExternalProviderAppService, ICurrentPrincipalAccessor currentPrincipalAccessor, IOptions<IdentityOptions> identityOptions, IOptionsSnapshot<reCAPTCHAOptions> reCaptchaOptions, AbpOpenIddictRequestHelper openIddictRequestHelper, ITenantRepository tenantRepository) : base(schemeProvider, accountOptions, recaptchaValidatorFactory, accountExternalProviderAppService, currentPrincipalAccessor, identityOptions, reCaptchaOptions, openIddictRequestHelper) { _tenantRepository = tenantRepository; } public async override Task<IActionResult> OnPostAsync(string action) { using (CurrentTenant.Change(await FindTenantByUser())) { return await base.OnPostAsync(action); } } private async Task<Guid?> FindTenantByUser() { var tenants = await _tenantRepository.GetListAsync(); foreach (var tenant in tenants) { using(CurrentTenant.Change(tenant.Id)) { ///...Find User and return the TenantId } } return null; } }
How I to find the user and return TenantId??
in which file should i write this code
Configure<AbpTenantResolveOptions>(options => { options.TenantResolvers.RemoveAll((x => x.Name == CookieTenantResolveContributor.ContributorName)); });