This is an automated email from the ASF dual-hosted git repository.
hsluoyz pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/casbin-gateway.git
The following commit(s) were added to refs/heads/master by this push:
new a2387e6 chore: rename to Casbin Gateway
a2387e6 is described below
commit a2387e68d0258164ce7bb9fe313a4ac094c7a1c0
Author: Yang Luo <[email protected]>
AuthorDate: Mon Aug 10 21:51:25 2026 +0800
chore: rename to Casbin Gateway
---
README.md | 32 ++++++++++++++++----------------
i18n/generate.go | 2 +-
i18n/generate_test.go | 2 +-
i18n/util.go | 2 +-
k8s/.env.example | 4 ++--
k8s/README.md | 36 ++++++++++++++++++------------------
k8s/deploy.sh | 22 +++++++++++-----------
object/site_timer_health.go | 4 ++--
service/oauth.go | 10 +++++-----
service/proxy.go | 24 ++++++++++++------------
util/supervisor.go | 2 +-
web/public/index.html | 2 +-
web/public/manifest.json | 4 ++--
web/src/BaseListPage.js | 2 +-
web/src/LanguageSelect.js | 2 +-
web/src/RecordListPage.js | 2 +-
web/src/RuleListPage.js | 2 +-
web/src/backend/FetchFilter.js | 2 +-
18 files changed, 78 insertions(+), 78 deletions(-)
diff --git a/README.md b/README.md
index bbf41d1..e07db2b 100644
--- a/README.md
+++ b/README.md
@@ -1,4 +1,4 @@
-<h1 align="center" style="border-bottom: none;">📦⚡️ CasWAF</h1>
+<h1 align="center" style="border-bottom: none;">📦⚡️ Casbin Gateway</h1>
<h3 align="center">An open-source Web Application Firewall (WAF) software
developed by Go and React.</h3>
<p align="center">
<a href="#badge">
@@ -44,20 +44,20 @@ https://caswaf.org
## Architecture
-CasWAF contains 2 parts:
+Casbin Gateway contains 2 parts:
-| Name | Description | Language | Source
code |
-|----------|--------------------------------|------------------------|----------------------------------------------------------|
-| Frontend | Web frontend UI for CasWAF | Javascript + React |
https://github.com/apache/casbin-gateway/tree/master/web |
-| Backend | RESTful API backend for CAsWAF | Golang + Beego + MySQL |
https://github.com/apache/casbin-gateway |
+| Name | Description | Language |
Source code |
+|----------|----------------------------------------|------------------------|----------------------------------------------------------|
+| Frontend | Web frontend UI for Casbin Gateway | Javascript + React |
https://github.com/apache/casbin-gateway/tree/master/web |
+| Backend | RESTful API backend for Casbin Gateway | Golang + Beego + MySQL |
https://github.com/apache/casbin-gateway |
## Installation
-CasWAF uses Casdoor to manage members. So you need to create an organization
and an application for CasWAF in a Casdoor instance.
+Casbin Gateway uses Casdoor to manage members. So you need to create an
organization and an application for Casbin Gateway in a Casdoor instance.
### Deployment Options
-- **[Kubernetes Deployment](k8s/README.md)**: Deploy CasWAF on Kubernetes with
complete manifests and guide
+- **[Kubernetes Deployment](k8s/README.md)**: Deploy Casbin Gateway on
Kubernetes with complete manifests and guide
- **Docker Compose**: Use the provided `docker-compose.yml` for quick local
setup
- **Manual Installation**: Build and run from source
@@ -79,36 +79,36 @@ git clone https://github.com/apache/casbin-gateway
#### Setup database
-CasWAF will store its users, nodes and topics information in a MySQL database
named: `caswaf`, will create it if not existed. The DB connection string can be
specified at: https://github.com/apache/casbin-gateway/blob/master/conf/app.conf
+Casbin Gateway will store its users, nodes and topics information in a MySQL
database named: `caswaf`, will create it if not existed. The DB connection
string can be specified at:
https://github.com/apache/casbin-gateway/blob/master/conf/app.conf
```ini
dataSourceName = root:123@tcp(localhost:3306)/
```
-CasWAF uses XORM to connect to DB, so all DBs supported by XORM can also be
used.
+Casbin Gateway uses XORM to connect to DB, so all DBs supported by XORM can
also be used.
#### Configure Casdoor
-After creating an organization and an application for CasWAF in a Casdoor, you
need to update `clientID`, `clientSecret`, `casdoorOrganization` and
`casdoorApplication` in app.conf.
+After creating an organization and an application for Casbin Gateway in a
Casdoor, you need to update `clientID`, `clientSecret`, `casdoorOrganization`
and `casdoorApplication` in app.conf.
-#### Run CasWAF
+#### Run Casbin Gateway
-- Configure and run CasWAF by yourself. If you want to learn more about caswaf.
+- Configure and run Casbin Gateway by yourself. If you want to learn more, see
the [documentation](https://caswaf.org).
- Open browser: http://localhost:16001/
### Optional configuration
#### Setup your WAF to enable some third-party login platform
-CasWAF uses Casdoor to manage members. If you want to log in with oauth, you
should see [casdoor oauth
configuration](https://casdoor.org/docs/provider/oauth/overview).
+Casbin Gateway uses Casdoor to manage members. If you want to log in with
oauth, you should see [casdoor oauth
configuration](https://casdoor.org/docs/provider/oauth/overview).
#### OSS, Mail, and SMS services
-CasWAF uses Casdoor to upload files to cloud storage, send Emails and send
SMSs. See Casdoor for more details.
+Casbin Gateway uses Casdoor to upload files to cloud storage, send Emails and
send SMSs. See Casdoor for more details.
## Contribute
-For CasWAF, if you have any questions, you can open Issues, or you can also
directly start Pull Requests(but we recommend opening issues first to
communicate with the community).
+For Casbin Gateway, if you have any questions, you can open Issues, or you can
also directly start Pull Requests(but we recommend opening issues first to
communicate with the community).
## License
diff --git a/i18n/generate.go b/i18n/generate.go
index 7fb7971..2e0a424 100644
--- a/i18n/generate.go
+++ b/i18n/generate.go
@@ -1,4 +1,4 @@
-// Copyright 2021 The Casdoor Authors. All Rights Reserved.
+// Copyright 2021 The casbin Authors. All Rights Reserved.
//
// Licensed under the Apache License, Version 2.0 (the "License");
// you may not use this file except in compliance with the License.
diff --git a/i18n/generate_test.go b/i18n/generate_test.go
index 1d352e3..973dc27 100644
--- a/i18n/generate_test.go
+++ b/i18n/generate_test.go
@@ -1,4 +1,4 @@
-// Copyright 2021 The Casdoor Authors. All Rights Reserved.
+// Copyright 2021 The casbin Authors. All Rights Reserved.
//
// Licensed under the Apache License, Version 2.0 (the "License");
// you may not use this file except in compliance with the License.
diff --git a/i18n/util.go b/i18n/util.go
index a68d41e..b3603be 100644
--- a/i18n/util.go
+++ b/i18n/util.go
@@ -1,4 +1,4 @@
-// Copyright 2021 The Casdoor Authors. All Rights Reserved.
+// Copyright 2021 The casbin Authors. All Rights Reserved.
//
// Licensed under the Apache License, Version 2.0 (the "License");
// you may not use this file except in compliance with the License.
diff --git a/k8s/.env.example b/k8s/.env.example
index 18229cb..6ef8c78 100644
--- a/k8s/.env.example
+++ b/k8s/.env.example
@@ -1,4 +1,4 @@
-# Example configuration for CasWAF Kubernetes deployment
+# Example configuration for Casbin Gateway Kubernetes deployment
# Copy this file and modify for your environment
# MySQL Configuration
@@ -14,7 +14,7 @@ CASDOOR_ORGANIZATION=built-in
CASDOOR_APPLICATION=app-casdoor-gateway
CASDOOR_INSECURE_SKIP_VERIFY=true
-# CasWAF Configuration
+# Casbin Gateway Configuration
CASWAF_HTTP_PORT=17000
CASWAF_RUN_MODE=prod
diff --git a/k8s/README.md b/k8s/README.md
index 839cecf..0a8e62e 100644
--- a/k8s/README.md
+++ b/k8s/README.md
@@ -1,6 +1,6 @@
-# Kubernetes Deployment Guide for CasWAF
+# Kubernetes Deployment Guide for Casbin Gateway
-This guide provides instructions for deploying CasWAF on Kubernetes.
+This guide provides instructions for deploying Casbin Gateway on Kubernetes.
## Prerequisites
@@ -12,18 +12,18 @@ This guide provides instructions for deploying CasWAF on
Kubernetes.
## Architecture
The deployment consists of:
-- **CasWAF Application**: The main WAF application
-- **MySQL Database**: Stores CasWAF configuration and data
+- **Casbin Gateway Application**: The main WAF application
+- **MySQL Database**: Stores Casbin Gateway configuration and data
- **Secrets**: Stores sensitive credentials (Casdoor client ID/secret, MySQL
password)
-- **ConfigMap**: Contains CasWAF configuration template
-- **Services**: Exposes CasWAF and MySQL within the cluster
-- **Ingress** (optional): Exposes CasWAF externally
+- **ConfigMap**: Contains Casbin Gateway configuration template
+- **Services**: Exposes Casbin Gateway and MySQL within the cluster
+- **Ingress** (optional): Exposes Casbin Gateway externally
## Quick Start
### 1. Deploy Casdoor (if not already deployed)
-CasWAF requires Casdoor for authentication. If you don't have Casdoor deployed:
+Casbin Gateway requires Casdoor for authentication. If you don't have Casdoor
deployed:
```bash
# Follow Casdoor's Kubernetes deployment guide:
@@ -76,7 +76,7 @@ casdoorEndpoint: http://your-casdoor-service:port
**Option A: Using the deployment script (Recommended)**
-The easiest way to deploy CasWAF:
+The easiest way to deploy Casbin Gateway:
```bash
cd k8s
@@ -88,7 +88,7 @@ The script will:
- Validate your configuration
- Deploy MySQL and wait for it to be ready
- Deploy secrets and configuration
-- Deploy CasWAF application
+- Deploy Casbin Gateway application
- Optionally deploy Ingress
- Show deployment status
@@ -107,7 +107,7 @@ kubectl apply -f k8s/secret.yaml
# Deploy ConfigMap
kubectl apply -f k8s/configmap.yaml
-# Deploy CasWAF
+# Deploy Casbin Gateway
kubectl apply -f k8s/deployment.yaml
# (Optional) Deploy Ingress
@@ -132,7 +132,7 @@ kubectl logs -f deployment/caswaf -n caswaf
kubectl get svc -n caswaf
```
-### 7. Access CasWAF
+### 7. Access Casbin Gateway
If using Ingress:
```bash
@@ -163,7 +163,7 @@ Key configuration parameters:
| Parameter | Description | Default |
|-----------|-------------|---------|
-| `httpport` | CasWAF HTTP port | `17000` |
+| `httpport` | Casbin Gateway HTTP port | `17000` |
| `runmode` | Run mode (dev/prod) | `prod` |
| `driverName` | Database driver | `mysql` |
| `dataSourceName` | MySQL connection string | Uses secrets substitution |
@@ -182,7 +182,7 @@ Key configuration parameters:
- Includes health checks (liveness and readiness probes)
- Root password stored in Kubernetes Secret with obvious placeholder
-### CasWAF Deployment (`deployment.yaml`)
+### Casbin Gateway Deployment (`deployment.yaml`)
Features:
- Init containers:
@@ -238,7 +238,7 @@ kubectl get svc -n caswaf caswaf-mysql
**Solution**:
```bash
-# Test MySQL connection from CasWAF pod
+# Test MySQL connection from Casbin Gateway pod
kubectl exec -it deployment/caswaf -n caswaf -- sh
# Then inside the pod:
# nc -zv caswaf-mysql 3306
@@ -258,7 +258,7 @@ kubectl rollout restart deployment/caswaf -n caswaf
### Viewing Logs
```bash
-# CasWAF logs
+# Casbin Gateway logs
kubectl logs -f deployment/caswaf -n caswaf
# MySQL logs
@@ -288,7 +288,7 @@ kubectl logs -f -n caswaf --all-containers=true
```
4. **High Availability**:
- - Increase replicas for CasWAF
+ - Increase replicas for Casbin Gateway
- Use MySQL replication or managed service
- Configure proper health checks
@@ -305,7 +305,7 @@ kubectl logs -f -n caswaf --all-containers=true
- Network policies to restrict traffic
- Regular security updates
-## Updating CasWAF
+## Updating Casbin Gateway
```bash
# Update the image version in deployment.yaml, then:
diff --git a/k8s/deploy.sh b/k8s/deploy.sh
index 10a074c..2a2c6df 100755
--- a/k8s/deploy.sh
+++ b/k8s/deploy.sh
@@ -1,6 +1,6 @@
#!/bin/bash
-# Quick deployment script for CasWAF on Kubernetes
-# This script helps you deploy CasWAF with proper configuration
+# Quick deployment script for Casbin Gateway on Kubernetes
+# This script helps you deploy Casbin Gateway with proper configuration
# Usage: ./deploy.sh [--auto-ingress|--no-ingress]
set -euo pipefail
@@ -31,8 +31,8 @@ while [[ $# -gt 0 ]]; do
esac
done
-echo -e "${GREEN}CasWAF Kubernetes Deployment Script${NC}"
-echo "====================================="
+echo -e "${GREEN}Casbin Gateway Kubernetes Deployment Script${NC}"
+echo "==========================================="
echo
# Check if kubectl is installed
@@ -84,21 +84,21 @@ kubectl wait --for=condition=ready pod -l app=caswaf-mysql
-n caswaf --timeout=3
echo -e "${GREEN}✓ MySQL is ready${NC}"
echo
-echo -e "${YELLOW}Step 3: Deploying CasWAF configuration...${NC}"
+echo -e "${YELLOW}Step 3: Deploying Casbin Gateway configuration...${NC}"
kubectl apply -f secret.yaml
kubectl apply -f configmap.yaml
echo -e "${GREEN}✓ Configuration deployed${NC}"
echo
-echo -e "${YELLOW}Step 4: Deploying CasWAF application...${NC}"
+echo -e "${YELLOW}Step 4: Deploying Casbin Gateway application...${NC}"
kubectl apply -f deployment.yaml
-echo "Waiting for CasWAF to be ready..."
+echo "Waiting for Casbin Gateway to be ready..."
kubectl wait --for=condition=ready pod -l app=caswaf -n caswaf --timeout=300s
|| {
- echo -e "${RED}Warning: CasWAF took longer than expected to start${NC}"
+ echo -e "${RED}Warning: Casbin Gateway took longer than expected to
start${NC}"
echo "Check logs with: kubectl logs -n caswaf -l app=caswaf"
}
-echo -e "${GREEN}✓ CasWAF is deployed${NC}"
+echo -e "${GREEN}✓ Casbin Gateway is deployed${NC}"
echo
# Handle Ingress deployment
@@ -127,7 +127,7 @@ if [ "$AUTO_INGRESS" = "yes" ]; then
else
echo -e "${YELLOW}Skipping Ingress deployment${NC}"
echo
- echo "You can access CasWAF using port-forward:"
+ echo "You can access Casbin Gateway using port-forward:"
echo " kubectl port-forward svc/caswaf 17000:17000 -n caswaf"
echo " Then access: http://localhost:17000"
fi
@@ -138,7 +138,7 @@ echo "==================="
kubectl get all -n caswaf
echo
-echo -e "${GREEN}✓ CasWAF deployment completed successfully!${NC}"
+echo -e "${GREEN}✓ Casbin Gateway deployment completed successfully!${NC}"
echo
echo "Useful commands:"
echo " View pods: kubectl get pods -n caswaf"
diff --git a/object/site_timer_health.go b/object/site_timer_health.go
index 98e17e5..b81d4e6 100644
--- a/object/site_timer_health.go
+++ b/object/site_timer_health.go
@@ -51,7 +51,7 @@ func healthCheck(site *Site, domain string) error {
return nil
}
- pingResponse = fmt.Sprintf("CasWAF health check failed for domain %s,
%s", domain, pingResponse)
+ pingResponse = fmt.Sprintf("Casbin Gateway health check failed for
domain %s, %s", domain, pingResponse)
user, err := casdoorsdk.GetUser(site.Owner)
if err != nil {
return err
@@ -61,7 +61,7 @@ func healthCheck(site *Site, domain string) error {
}
for _, provider := range site.AlertProviders {
if strings.HasPrefix(provider, "Email/") {
- err := casdoorsdk.SendEmailByProvider("CasWAF
HealthCheck Check Alert", pingResponse, "CasWAF", provider[6:], user.Email)
+ err := casdoorsdk.SendEmailByProvider("Casbin Gateway
HealthCheck Alert", pingResponse, "Casbin Gateway", provider[6:], user.Email)
if err != nil {
fmt.Println(err)
}
diff --git a/service/oauth.go b/service/oauth.go
index 30597e1..04a826c 100644
--- a/service/oauth.go
+++ b/service/oauth.go
@@ -40,29 +40,29 @@ func redirectToCasdoor(casdoorClient *casdoorsdk.Client, w
http.ResponseWriter,
func handleAuthCallback(w http.ResponseWriter, r *http.Request) {
site := getSiteByDomainWithWww(r.Host)
if site == nil {
- responseError(w, "CasWAF error: site not found for host: %s",
r.Host)
+ responseError(w, "Casbin Gateway error: site not found for
host: %s", r.Host)
return
}
code := r.URL.Query().Get("code")
state := r.URL.Query().Get("state")
if code == "" {
- responseError(w, "CasWAF error: the code should not be empty")
+ responseError(w, "Casbin Gateway error: the code should not be
empty")
return
} else if state == "" {
- responseError(w, "CasWAF error: the state should not be empty")
+ responseError(w, "Casbin Gateway error: the state should not be
empty")
return
}
casdoorClient, err := getCasdoorClientFromSite(site)
if err != nil {
- responseError(w, "CasWAF error: getCasdoorClientFromSite()
error: %s", err.Error())
+ responseError(w, "Casbin Gateway error:
getCasdoorClientFromSite() error: %s", err.Error())
return
}
token, err := casdoorClient.GetOAuthToken(code, state)
if err != nil {
- responseError(w, "CasWAF error: casdoorClient.GetOAuthToken()
error: %s", err.Error())
+ responseError(w, "Casbin Gateway error:
casdoorClient.GetOAuthToken() error: %s", err.Error())
return
}
diff --git a/service/proxy.go b/service/proxy.go
index 030f321..ea92585 100644
--- a/service/proxy.go
+++ b/service/proxy.go
@@ -169,7 +169,7 @@ func handleRequest(w http.ResponseWriter, r *http.Request) {
return
}
- responseError(w, "CasWAF error: site not found for host: %s",
r.Host)
+ responseError(w, "Casbin Gateway error: site not found for
host: %s", r.Host)
return
}
@@ -187,7 +187,7 @@ func handleRequest(w http.ResponseWriter, r *http.Request) {
if site.Node == "" {
site.Node = util.GetHostname()
_, err := object.UpdateSiteNoRefresh(site.GetId(), site)
- responseError(w, "CasWAF error: UpdateSiteNoRefresh() error:
%v", err)
+ responseError(w, "Casbin Gateway error: UpdateSiteNoRefresh()
error: %v", err)
return
}
@@ -200,7 +200,7 @@ func handleRequest(w http.ResponseWriter, r *http.Request) {
}
}
- responseError(w, fmt.Sprintf("CasWAF error: ACME HTTP-01
challenge failed, requestUri cannot match with challengeMap, requestUri = %s,
challengeMap = %v", r.RequestURI, challengeMap))
+ responseError(w, fmt.Sprintf("Casbin Gateway error: ACME
HTTP-01 challenge failed, requestUri cannot match with challengeMap, requestUri
= %s, challengeMap = %v", r.RequestURI, challengeMap))
return
}
@@ -232,7 +232,7 @@ func handleRequest(w http.ResponseWriter, r *http.Request) {
casdoorClient, err := getCasdoorClientFromSite(site)
if err != nil {
- responseError(w, "CasWAF error:
getCasdoorClientFromSite() error: %s", err.Error())
+ responseError(w, "Casbin Gateway error:
getCasdoorClientFromSite() error: %s", err.Error())
return
}
@@ -243,7 +243,7 @@ func handleRequest(w http.ResponseWriter, r *http.Request) {
} else {
_, err = casdoorClient.ParseJwtToken(cookie.Value)
if err != nil {
- responseError(w, "CasWAF error:
casdoorClient.ParseJwtToken() error: %s", err.Error())
+ responseError(w, "Casbin Gateway error:
casdoorClient.ParseJwtToken() error: %s", err.Error())
return
}
}
@@ -251,7 +251,7 @@ func handleRequest(w http.ResponseWriter, r *http.Request) {
host := site.GetHost()
if host == "" {
- responseError(w, "CasWAF error: targetUrl should not be empty
for host: %s, site = %v", r.Host, site)
+ responseError(w, "Casbin Gateway error: targetUrl should not be
empty for host: %s, site = %v", r.Host, site)
return
}
@@ -276,11 +276,11 @@ func handleRequest(w http.ResponseWriter, r
*http.Request) {
// Do not write header for Allow action, let the proxy handle it
case "Block":
w.WriteHeader(result.StatusCode)
- responseErrorWithoutCode(w, "Blocked by CasWAF: %s", reason)
+ responseErrorWithoutCode(w, "Blocked by Casbin Gateway: %s",
reason)
return
case "Drop":
w.WriteHeader(result.StatusCode)
- responseErrorWithoutCode(w, "Dropped by CasWAF: %s", reason)
+ responseErrorWithoutCode(w, "Dropped by Casbin Gateway: %s",
reason)
return
case "CAPTCHA":
ok := isVerifiedSession(r)
@@ -293,7 +293,7 @@ func handleRequest(w http.ResponseWriter, r *http.Request) {
redirectToCaptcha(w, r)
return
default:
- responseError(w, "Error in CasWAF: %s", reason)
+ responseError(w, "Error in Casbin Gateway: %s", reason)
}
nextHandle(w, r)
}
@@ -332,7 +332,7 @@ func Start() {
panic(err)
}
if !gatewayEnabled {
- fmt.Printf("CasWAF gateway not enabled (gatewayEnabled ==
\"false\")\n")
+ fmt.Printf("Casbin Gateway not enabled (gatewayEnabled ==
\"false\")\n")
return
}
@@ -347,7 +347,7 @@ func Start() {
}
go func() {
- fmt.Printf("CasWAF gateway running on: http://127.0.0.1:%d\n",
gatewayHttpPort)
+ fmt.Printf("Casbin Gateway running on: http://127.0.0.1:%d\n",
gatewayHttpPort)
err := http.ListenAndServe(fmt.Sprintf(":%d", gatewayHttpPort),
serverMux)
if err != nil {
panic(err)
@@ -355,7 +355,7 @@ func Start() {
}()
go func() {
- fmt.Printf("CasWAF gateway running on: https://127.0.0.1:%d\n",
gatewayHttpsPort)
+ fmt.Printf("Casbin Gateway running on: https://127.0.0.1:%d\n",
gatewayHttpsPort)
server := &http.Server{
Handler: serverMux,
Addr: fmt.Sprintf(":%d", gatewayHttpsPort),
diff --git a/util/supervisor.go b/util/supervisor.go
index 78b0f08..f005d57 100644
--- a/util/supervisor.go
+++ b/util/supervisor.go
@@ -56,7 +56,7 @@ func InitSelfGuard() {
// runSupervisor starts the supervisor that monitors and restarts the main
process
func runSupervisor() error {
- fmt.Println("Starting CasWAF with auto-recovery mechanism...")
+ fmt.Println("Starting Casbin Gateway with auto-recovery mechanism...")
restartTimes := []time.Time{}
diff --git a/web/public/index.html b/web/public/index.html
index 77eca03..7b931d3 100644
--- a/web/public/index.html
+++ b/web/public/index.html
@@ -24,7 +24,7 @@
work correctly both with client-side routing and a non-root public URL.
Learn how to configure a non-root public URL by running `npm run build`.
-->
- <title>CasWAF</title>
+ <title>Casbin Gateway</title>
</head>
<body>
<noscript>You need to enable JavaScript to run this app.</noscript>
diff --git a/web/public/manifest.json b/web/public/manifest.json
index c71ff20..a2e254f 100644
--- a/web/public/manifest.json
+++ b/web/public/manifest.json
@@ -1,6 +1,6 @@
{
- "short_name": "CasWAF",
- "name": "CasWAF",
+ "short_name": "Casbin Gateway",
+ "name": "Casbin Gateway",
"icons": [
{
"src": "favicon.ico",
diff --git a/web/src/BaseListPage.js b/web/src/BaseListPage.js
index 6730ca0..bcef012 100644
--- a/web/src/BaseListPage.js
+++ b/web/src/BaseListPage.js
@@ -1,4 +1,4 @@
-// Copyright 2024 The CasWAF Authors. All Rights Reserved.
+// Copyright 2024 The casbin Authors. All Rights Reserved.
//
// Licensed under the Apache License, Version 2.0 (the "License");
// you may not use this file except in compliance with the License.
diff --git a/web/src/LanguageSelect.js b/web/src/LanguageSelect.js
index eeb4960..010d0f1 100644
--- a/web/src/LanguageSelect.js
+++ b/web/src/LanguageSelect.js
@@ -1,4 +1,4 @@
-// Copyright 2024 The Casbin Authors. All Rights Reserved.
+// Copyright 2024 The casbin Authors. All Rights Reserved.
//
// Licensed under the Apache License, Version 2.0 (the "License");
// you may not use this file except in compliance with the License.
diff --git a/web/src/RecordListPage.js b/web/src/RecordListPage.js
index 90f884f..8565f96 100644
--- a/web/src/RecordListPage.js
+++ b/web/src/RecordListPage.js
@@ -1,4 +1,4 @@
-// Copyright 2021 The Casdoor Authors. All Rights Reserved.
+// Copyright 2021 The casbin Authors. All Rights Reserved.
//
// Licensed under the Apache License, Version 2.0 (the "License");
// you may not use this file except in compliance with the License.
diff --git a/web/src/RuleListPage.js b/web/src/RuleListPage.js
index d4bf3fd..bf0c85a 100644
--- a/web/src/RuleListPage.js
+++ b/web/src/RuleListPage.js
@@ -1,4 +1,4 @@
-// Copyright 2021 The Casdoor Authors. All Rights Reserved.
+// Copyright 2021 The casbin Authors. All Rights Reserved.
//
// Licensed under the Apache License, Version 2.0 (the "License");
// you may not use this file except in compliance with the License.
diff --git a/web/src/backend/FetchFilter.js b/web/src/backend/FetchFilter.js
index 7f8ea81..ab67cfe 100644
--- a/web/src/backend/FetchFilter.js
+++ b/web/src/backend/FetchFilter.js
@@ -1,4 +1,4 @@
-// Copyright 2023 The Casdoor Authors. All Rights Reserved.
+// Copyright 2023 The casbin Authors. All Rights Reserved.
//
// Licensed under the Apache License, Version 2.0 (the "License");
// you may not use this file except in compliance with the License.
---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]