* fix: CORS check issue
* fix: promote format
* fix: promote format
* fix: promote format
* fix: promote format
* Update application.go
* Update cors_filter.go
* Update validation.go
---------
Co-authored-by: Yang Luo <hsluoyz@qq.com>
* 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: update captcha rule when the login page component is mounted
* fix: remove enableCaptchaModel from the state of the login page to avoid inconsistency issues
* fix: use this.getApplicationObj() instead of this.props.application
* fix: trying to fix dark mode not applying on login/registration interface
* fix: trying to fix dark mode not applying on login/registration interface
* fix: trying to fix dark mode not applying on login/registration interface
* fix: Clean up unused code
* fix: loginBackgroundDark move to App.less
* fix: fix typo
* feat: logout if there's no activities for a long time
* fix: change the implementation of updating LastTime
* fix: add logoutMinites to app.conf
* fix: change the implementation of judgment statement
* fix: use sync.Map to ensure thread safety
* fix: syntax standards and Apache headers
* fix: change the implementation of obtaining logoutMinutes in app.conf
* fix: follow community code standards
* fix: <=0 or empty means no restriction
* Update logout_filter.go
* Update app.conf
* Update main.go
* Update and rename logout_filter.go to timeout_filter.go
* Update app.conf
* Update timeout_filter.go
* fix: update app.conf
---------
Co-authored-by: Yang Luo <hsluoyz@qq.com>
* feat: add custom signup field
* feat: support more field in signup page
* feat: support more field in signup page
* feat: support more field in signup page
* feat: Reduce code duplication in form item rendering
* feat: Simplify gender and info checks using includes
* feat: update translate
* Revert "feat: update translate"
This reverts commit 669334c716cdfe016c67c2b4dbaf5458c3d5e93b.
* feat: address feedback from hsluoyz
* fix(organization): ensure count includes shared organizations
Adjust the `GetOrganizationCount` function to account for shared organizations by adding
an additional parameter and modifying the count query accordingly. This change ensures that
the organization count correctly reflects shared organizations within the system.
* ```fix(organization): optimize GetOrganizationCount query
Refactor the GetOrganizationCount function to use a more efficient search
method by leveraging the 'is_shared' field directly in the query condition.
This change improves the performance for counting organizations by avoiding
unnecessary iteration over potentially large result sets.
```
---------
Co-authored-by: CuiJing <cuijing@tul.com.cn>
* feat: integrate external model editor and handle message events for model updates
* feat: add CasbinEditor and IframeEditor components for model editing
* feat: add tabbed editor interface for CasbinEditor
* fix: Synchronize content between basic and advanced editors
* refactor: simplify CasbinEditor and ModelEditPage components
* refactor: Refactor CasbinEditor for improved iframe initialization and model synchronization
* refactor: update default state of CasbinEditor active tab to "advanced
* chore: add Apache License header to CasbinEditor.js and IframeEditor.js files
* refactor: update CasbinEditor class names for consistency
* feat: Add option to use email as SAML NameID based on application config
- Updated NewSamlResponse11 to accept an application parameter.
- Conditionally set SAML NameIdentifier to user's email or username based on application.UseEmailAsNameId.
* refactor: Update GetValidationBySaml to pass application to NewSamlResponse11
- Modified GetValidationBySaml function to include application parameter in NewSamlResponse11 call.
* feat: Rename field and update logic for using Email as SAML NameID
- Renamed the `UseEmailAsNameId` field to `UseEmailAsSamlNameId` in the `Application` struct.
- Updated `NewSamlResponse` and `NewSamlResponse11` functions to use `UseEmailAsSamlNameId` for setting the NameID value.
- Modified `ApplicationEditPage.js` to reflect the field name change and update the corresponding logic.
* feat: improve the logic of the permission check code for users to modify account items
* fix: add skip operation for deleted account items in update-user API
* fix: add the function of removing deleted account item