Yeap. When considerUow: false, it works!
What is the reason of this behavior? Should I give up on considerUow? But I need it, because I execute this cache update together with some database operation .
Hi maliming,
Thanks for the reply. The situation is:
using (CurrentTenant.Change(null))
{
// GetAsync works on host! It gets cached item from host.
var cachedClient = await _clientCache.GetAsync(identityClient.ClientId);
cachedClient.Enabled = false;
// But SetAsync does not work on host! It adds a new cached item under tenant folder on redis.
// Instead of overwriting the item on host folder.
await _clientCache.SetAsync(identityClient.ClientId, cachedClient, new DistributedCacheEntryOptions
{
AbsoluteExpirationRelativeToNow = _identityServerOptions.Caching.ClientStoreExpiration
},
considerUow: true);
}
We can customize the LDAP service, but again we need to store the tenant based domain name setting somewhere. I think the current ldap login settings page is the best place for it, isn't it?
Hi maliming,
I don't have any official documentation right now, explaining that we should use domain name. Maybe it could be found after a deep research. But when I try ldap bind without the domain name (just the username itself) I get the following error:
Invalid Credentials. Invalid Credentials. Result: 49. Method: ldap_parse_result. Details: errorMessage: 80090308: LdapErr: DSID-0C090447, comment: AcceptSecurityContext error, data 52e, v3839 matchedMessage:
And when I search the error, I saw that many people resolve this error by appending the domain name to the user name when making ldap bind. And when I append the domain name, problem is solved.
Examples:
https://stackoverflow.com/a/52474797/ https://stackoverflow.com/a/52725355/ https://stackoverflow.com/a/53442129/ https://stackoverflow.com/a/56896250/ https://stackoverflow.com/a/60112692/ https://stackoverflow.com/a/31692694/ https://stackoverflow.com/a/31692694/
Hi maliming, thanks for the response. But I didn't get what you mean by saying domain\user is a good solution.
Active Directory requires domain name with user name, but abp's ldap settings page do not have any domain name parameter, so as of now abp's ldap login feature cannot be used properly at least with default settings capabilities (I know that we can override methods to normalize user names, but it should not be hard-coded, and also be stored tenant based). I think it would be great to have domain name setting added to ldap login settings page in the next versions. Do you have any plans for that.
Hi , I get following error and when I check the getPasswordValidators method saw that it expects the Store type object , could you please check it too?
Argument of type 'Injector' is not assignable to parameter of type 'Store'. Type 'Injector' is missing the following properties from type 'Store': stateStream, internalStateOperations, config, internalExecutionStrategy, and 10 more.ts(2345)
Thank you
Okay , so for our customized setting do I need to create new endpoint to reach it on the backend? Like ; "/api/account-admin/settings" or "/api/lepton-theme-management/settings"
Thank you
Hi, I already checked the document and its Reading Setting Values on the Client Side parts is not clear for me. When I try to use abp.setting.get() get an error as "cannot find name abp" so cannot get the value. We already completed the server side for the setting definition so only thing is getting and showing the value on the client side.
However I want to use my own setting instead of using the default ones that called as "IndexingSettings" that you can see from the screenshot actually.I already added the setting tab using following the documentation I specified and the only thing I have trouble with getting the related setting values from the server side. Can I use ConfigStateService for it as well and if it so how can I add my customized setting to there?