* feat: Force users to change their passwords after 3/6/12 months
* feat: Check if the password has expired by using the last_change_password_time field added to the user table
* feat: Use the created_time field of the user table to aid password expiration checking
* feat: Rename variable
* feat: support IP limitation for user entry pages
* fix: error message, ip whiteList, check_entry_ip
* fix: perform checks on the backend
* fix: change the implementation of checking IpWhitelist
* fix: add entryIpCheck in SetPassword and remove it from VerifyCode
* fix: remove additional error message pop-ups
* fix: add isRestricted and show ip error in EntryPage.js
* fix: error message
* Update auth.go
* Update check_ip.go
* Update check_ip.go
* fix: update return value of the check function from string to error
* fix: remoteAddress position
* fix: IP whitelist
* fix: clientIp
* fix:add util.GetClientIpFromRequest
* fix: remove duplicate IP and port separation codes and remove extra special characters after clientIp
* fix: gofumpt
* fix: getIpInfo and localhost
---------
Co-authored-by: Yang Luo <hsluoyz@qq.com>
* feat: add regex support for account item
* feat: use reflect to process user field
* fix: fix lint problem
* feat: improve code format and fix reflect error
* fix: failed to set password after changing username
When we add a new member to an organization using Casdoor, Casdoor will automatically generate a member with a random username, such as "user_qvducc". When we change the username, for example, to "yunshu", an issue arises where we are unable to successfully edit the password. This is because Casdoor searches for a user based on `owner/username`, and before any changes are saved, the username in the database remains "user_qvducc". However, the frontend uses `orgName/yunshu` instead of `orgName/user_qvducc` to send the request to change the password. As a result, the backend cannot find the user and the password change fails.
* Update user.go
---------
Co-authored-by: hsluoyz <hsluoyz@qq.com>
* feat: fix price display
* feat: support subscription
* feat: fix select-plan-> signup -> buy-plan -> login flow
* feat: support paid-user to login and jump to the pricing page
* feat: support more subscription state
* feat: add payment providers for plan
* feat: format code
* feat: gofumpt
* feat: redirect to buy-plan-result page when user have pending subscription
* feat: response err when pricing don't exit
* Update PricingListPage.js
* Update ProductBuyPage.js
* Update LoginPage.js
---------
Co-authored-by: hsluoyz <hsluoyz@qq.com>
* feat:user can upload ID card(#1999)
Signed-off-by: baihhh <2542274498@qq.com>
* feat: user can upload ID card, add diff languages
Signed-off-by: baihhh <2542274498@qq.com>
---------
Signed-off-by: baihhh <2542274498@qq.com>
* rebase master
* feat: add group in userEditPage
* feat: use id as the pk
* feat: add groups item in user
* feat: add tree component
* rebase
* feat: ui
* fix: fix some bug
* fix: route
* fix: ui
* fix: improve ui