Base solution for your next web application
Starts in:
01 DAYS
01 HRS
01 MIN
01 SEC

Activities of "fguo"

I am using Core+Angular v6.7.0 and trying to connect it to our on-premises ADFS. My ADFS on server is working. I can directly sign-on from page: https://MyDomain/adfs/ls/idpinitiatedsignon, but I am not sure how to configure AspNetZero to connect to it. I tried some guess work, but all failed to work. Do you have a step-by-step instruction about it?

I guess the "WsFederation" section in appsettings.json is about it, but I am not sure the following:

  1. how to set "Authority", "ClientId", "Tenant", and "MetaDataAddress"?
  2. how to configue the "Relying Party Trusts" and "Claims Provider Trust" in ADFS server to match ASPNETZero's configuration?
  3. Dose anywhere alse need to be "switch on"?

Thanks,

Question

I just download Core+Angular v6.7.0. When I yarn the Angular package, I got the following message. It seems some problems around "[email protected]" and " > @swimlane/[email protected]". Please advise how to fix. Thanks,

yarn install v1.13.0 [1/4] Resolving packages... [2/4] Fetching packages... info [email protected]: The platform "win32" is incompatible with this module. info "[email protected]" is an optional dependency and failed compatibility check. Excluding it from installation. [3/4] Linking dependencies... warning " > @swimlane/[email protected]" has unmet peer dependency "d3@^4.10.2". warning " > @swimlane/[email protected]" has unmet peer dependency "d3-array@^1.2.1". warning " > @swimlane/[email protected]" has unmet peer dependency "d3-brush@^1.0.4". warning " > @swimlane/[email protected]" has unmet peer dependency "d3-color@^1.0.3". warning " > @swimlane/[email protected]" has unmet peer dependency "d3-force@^1.1.0". warning " > @swimlane/[email protected]" has unmet peer dependency "d3-format@^1.2.0". warning " > @swimlane/[email protected]" has unmet peer dependency "d3-hierarchy@^1.1.5". warning " > @swimlane/[email protected]" has unmet peer dependency "d3-interpolate@^1.1.5". warning " > @swimlane/[email protected]" has unmet peer dependency "d3-scale@^1.0.6". warning " > @swimlane/[email protected]" has unmet peer dependency "d3-selection@^1.1.0". warning " > @swimlane/[email protected]" has unmet peer dependency "d3-shape@^1.2.0". warning " > @swimlane/[email protected]" has unmet peer dependency "d3-time-format@^2.1.0". [4/4] Building fresh packages... Done in 76.89s.

I am using Core + Angular version. Currently, all of AppService methods return a specific type, such as: ListResultDto<PersonListDto> GetPeople(GetPeopleInput input){...}

In my application, the type PersonListDto has many properties. Now, my users want to get partial of these peroperties (e.g. only FirstName and Address). I surely can make another type and method for this request, such as: ListResultDto<NameAddresssListDto> GetPeople(GetPeopleInput input){...}

However, users want to freely choose properties from PersonListDto type, and get a return only includes the properties accordingly. So, I need to make a method to return a generic type dynamically. I need a method, such as: ListResultDto<T> GetPeople(GetPeopleInput input){...}

For example, if the GetPeopleInput contains "fields = 'FirstName', 'Address'", the <T> should be a type only contains two peroperties, FirstName and Address.

Is it possible? If so, can you provide an sample code?

Thanks,

I am using Core + Angular version with LDAP enabled. After an AD user click “Forgot password”, we got two issues:

The first issue occurs on user changing password. The link on "password reset" email is actually two url delimited by a comma, likes: https://login.company.com/, http:/login.company.com/account/reset-password?userId=12345&resetCode=044D43ACE0&tenantId=1

When user click this link, it opens the reset page, but immediately redirected to a blank page, which actually is the first url (i.e. https://login.company.com). So the user has no chance to change her password. A workaround is that, copy the 2nd url and paste it on a browser. It opens a password reset page, but it will stay on the reset page. We need manually close the browser and re-open the home page for login. We tried Chrome and Edge and get same behavior.

The 2nd issue occurs after the password changed. After the user changes her old password (e.g. password0) to a new password(e.g. password1), both passwords are valid. I guess the new password does not PUSH to AD. When the user uses password0, she is treated as an AD user, and if she uses password1, she is treated as a local user. Is this a bug or by design?

Thanks,

Recently, many of our users get error while they try to login:

Internal Error
Cannot insert the value NULL into column 'EmailAddress', table 'PROJECT.dbo.AbpUsers'; column does not allow nulls. UPDATE fails.
The statement has been terminated.

Most of these users have not logged in for a couple of months. I checked those users' AbpUser.EmailAddress record. It is NOT NULL. Their passwords are never expired. However, if I reset their password, the problem would be gone. Unfortunately, I can't reset password for every one.

I traced Log.txt. There is no warning, but some fails, such as:

uthentication.JwtBearer.JwtBearerHandler - Failed to validate the token eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJodHRwOi8vc2NoZW1hcy54bWxzb2FwLm9yZy93cy8yMDA1LzA1L2lkZW50aXR5L2NsYWltcy9uYW1laWRlbnRpZmllciI6IjIiLCJodHRwOi8vc2NoZW1hcy54bWxzb2FwLm9yZy93cy8yMDA1LzA1L2lkZW50aXR5L2NsYWltcy9uYW1lIjoiYWRtaW4iLCJBc3BOZXQuSWRlbnRpdHkuU2VjdXJpdHlTdGFtcCI6IjRlNzhjMzIyLTRjM2ItNTRkNy1kMzQ4LTM5ZGVjMmRmZTI1NSIsImh0dHA6Ly9zY2hlbWFzLm1pY3Jvc29mdC5jb20vd3MvMjAwOC8wNi9pZGVudGl0eS9jbGFpbXMvcm9sZSI6WyJBZG1pbiIsImMxYmQxMmUwZWEzYjQ1ZGRiYzM2OTJkMjUxZTQ5MDU4Il0sImh0dHA6Ly93d3cuYXNwbmV0Ym9pbGVycGxhdGUuY29tL2lkZW50aXR5L2NsYWltcy90ZW5hbnRJZCI6IjEiLCJzdWIiOiIyIiwianRpIjoiYzIwYTk2NzMtMTkwNi00MWFiLWFhZWYtMzFjMWNlNGE4YWEwIiwiaWF0IjoxNTQ5MzAzMDA2LCJuYmYiOjE1NDkzMDMwMDYsImV4cCI6MTU0OTM4OTQwNiwiaXNzIjoiU05ldCIsImF1ZCI6IlNOZXQifQ.bdh-Uo7bzXmGs3xjALUedYqXHzQgvMGffra_UmOcp0k.
Microsoft.IdentityModel.Tokens.SecurityTokenExpiredException: IDX10223: Lifetime validation failed. The token is expired.
ValidTo: '02/05/2019 17:56:46'
Current time: '02/05/2019 21:33:04'.

It seems their Token expired. Can you advise me how to refresh the token to workaround this "Internal Error"?

Thanks,

I realized my AbpUserLogins and AbpUserTokens tables are always empty. What are these two tables for?

Thanks,

While adding an user, I have two ways to link her to OU. I realized it generates different records in AbpUserOrganizationUnits.

If I add members in Organization Units screen, only one record is inserted into DB table AbpUserOrganizationUnits, which links the UserId with one OU Id.

If I add an OrganizationUnit to a user in User screen, multiple records are inserted into DB table AbpUserOrganizationUnits, which link the UserId with her OU Id AND all of that OU's parent Ids.

I wonder which way is correct? Is there any different impact to other parts of application?

I wonder if you plan to implement "Angular Universal server-side rendering"?

I noticed that more and more features have been added each time the version updated, which is very good, but it is hard to find out the instruction for these new features. For example, Twilio sms integration was added on v6.4. I am interested of it, but wonder how it is implemented on Zero and how to use this feature on my applications. Can you shine me a light? Thanks.

I am trying to create a new tenant with its own dedicated database, but always get "internal error" while saving that tenant. Here is how I did:

  1. Click "Create new tenant" button.
  2. Fill the popup form with new Tenant name as "Tenant1".
  3. Fill the Database connection string as "Server=(localdb)\mssqllocaldb; Database=Tenant1Db; Trusted Connection=True;". This string is almost same with the working host database, which is "Server=(localdb)\mssqllocaldb; Database=HostDb; Trusted Connection=True;". (only difference is database name)
  4. Fill all other info on the form, and click the "Save" button.

I tried to do it without such database (expect to get migration class and automatically generate Tenant1Db). It apparely does not works in that way.

I tried to manually make a blank database and name it as "Tenant1Db", before create the new tenant, but it still throws exception.

From the logs.txt, the ERROR is: System.Data.SqlClient.SqlException (0x80131904); A network-related or instance-specific error occurred while establishing a connection to SQL Server. The server was not found or was not accessible. Verify that the instance name is correct and that SQL Server is configured to allow remote connections.

I am stuck here. Where can I get a step-by-step instruction to create a new tenant with its own dedicated database?

Thanks,

Showing 11 to 20 of 76 entries