README_ja.md
简体中文 | 繁體中文 | English | 日本語 | 한국어 | Русский
<p align="center"> </p> <h1 align="center" style="margin: 30px 0 30px; font-weight: bold;">Sa-Token v1.46.0</h1> <h4 align="center">✨ オープンソース、無料、ワンストップの Java 権限認証フレームワークで、認証をシンプルかつエレガントにします。 </h4> <p align="center"> <a href="https://gitee.com/dromara/sa-token/stargazers"></a> <a href="https://gitee.com/dromara/sa-token/members"></a> <a href="https://atomgit.com/dromara/sa-token/stargazers"></a> <a href="https://github.com/dromara/sa-token/stargazers"></a> <a href="https://github.com/dromara/sa-token/network/members"></a> <!-- <a href="https://github.com/dromara/sa-token/watchers"></a> --> <!-- <a href="https://github.com/dromara/sa-token/issues"></a> --> <a href="https://github.com/dromara/sa-token/blob/master/LICENSE"></a> </p> <!-- <p align="center"> 学習してテストするには、master ブランチをプルしてください。dev は開発ブランチにあります (ルート ディレクトリで `git checkout master` を実行します) </p> --> <p align="center"> <a href="https://sa-token.com?way=readme" target="_blank"> オンライン ドキュメント: https://sa-token.com</a> | <a href="https://sa-token.com/doc.html#/more/demand-commit" target="_blank">送信リクエスト</a> </p>私が Sa-Token のコードの最初の行を提出した 2020 年の初めを振り返ると、当時市場に出ていた Java に欠けていたのは、シンプルで使いやすい認証フレームワークだけでなく、明確で自己一貫性のあるパーミッション アーキテクチャの設計アイデアのセットでもありました。
したがって、ここ数年、私は Sa-Token ドキュメントの作成に多くの時間を費やしてきました。ほぼすべての章、すべての文、すべての単語が、最も明確で簡潔でわかりやすい表現を達成するために、繰り返し修正され、細かく磨き上げられています。ドキュメントを注意深く読むと、Sa-Token フレームワーク自体だけでなく、ほとんどのシナリオにおける権限設計のベスト プラクティスについても学ぶことができます。
Sa-Token は、軽量の Java 権限認証フレームワークであり、現在、ログイン認証、権限認証、シングル サインオン、OAuth2.0、およびマイクロサービス認証の 5 つのコア モジュールを備えています。
以下の機能をまだ使用していますか?Stop ⚠️ Sa-Token にお任せを!
SpringBoot プロジェクトで Sa-Token を使用するには、pom.xml に依存関係を導入するだけです。
<!-- Sa-Token 機関認証、オンラインドキュメント: https://sa-token.com -->
<dependency>
<groupId>cn.dev33</groupId>
<artifactId>sa-token-spring-boot-starter</artifactId>
<version>1.46.0</version>
</dependency>
SpringBoot2 と Sa-Token のサポートに加えて、SpringBoot3/4、Solon、JFinal などの一般的な Web フレームワークの統合パッケージも提供しており、すぐに使用できるようになります。
<details> <summary><b>簡単な表示例:</b> (クリックして展開/折りたたみ)</summary>Sa-Token は、システムの許可認証部分をシンプルかつエレガントな方法で完了することを目的としています。ログイン認証を例に挙げると、必要なのは以下だけです。
// セッションログイン。パラメータにはログイン者のアカウントIDが入力されます。
StpUtil.login(10001);
インターフェースを実装したり、構成ファイルを作成したりする必要はありません。セッションのログイン認証を完了するには、この静的コードを呼び出すだけです。
インターフェイスにアクセスする前にログインが必要な場合は、次のコードを呼び出すだけで済みます。
// 現在のクライアントがログインしているかどうかを確認し、ログインしていない場合は `NotLoginException` 例外をスローします
StpUtil.checkLogin();
Sa-Token では、ほとんどの関数は 1 行のコードで解決できます。
人々をオフラインに追い出す:
// アカウント ID 10077 のセッションをオフラインにキックします
StpUtil.kickout(10077);
権限認証:
// アノテーション認証: `user:add` 権限を持つセッションのみがメソッドに入ることができます
@SaCheckPermission("user:add")
public String insert(SysUser user) {
// ...
return "用户增加";
}
ルートインターセプト認証:
// ルートに応じてモジュールを分割し、モジュールごとに認証が異なります
registry.addInterceptor(new SaInterceptor(handler -> {
SaRouter.match("/user/**", r -> StpUtil.checkPermission("user"));
SaRouter.match("/admin/**", r -> StpUtil.checkPermission("admin"));
SaRouter.match("/goods/**", r -> StpUtil.checkPermission("goods"));
SaRouter.match("/orders/**", r -> StpUtil.checkPermission("orders"));
SaRouter.match("/notice/**", r -> StpUtil.checkPermission("notice"));
// さらにモジュール...
})).addPathPatterns("/**");
以前にShiroまたはSpringSecurityを使用したことがある場合は、Sa-Tokenに切り替えると質的な飛躍を経験するでしょう。
<!-- Shiro や SpringSecurity などのフレームワークに飽きたら、これらの伝統的な古いフレームワークと比較して、Sa-Token の API 設計がいかにシンプルでエレガントであるかがわかるでしょう。 --> </details> <details> <summary><b>コアモジュールリスト:</b> (クリックして展開/折りたたみ)</summary>Sa-Token SSO は 3 つのモードに分かれており、同域、跨域、共享Redis、跨Redis、前后端一体、前后端分离、纯 js、vue2、vue3、java 项目、非 java 项目 およびその他のアーキテクチャでの SSO 認証要件を解決できます。
| システムアーキテクチャ | 導入パターン | はじめに | ドキュメントへのリンク |
|---|---|---|---|
| 同じドメイン内のフロントエンド + Redis と同じドメイン内のバックエンド | モード 1 | 共有 Cookie 同期セッション | 文書、例 |
| フロントエンドの異なるドメイン + Redis と同じバックエンド | モード 2 | URL リダイレクト伝播セッション | 文書、例 |
| 異なるフロントエンド ドメイン + 異なるバックエンド Redis | モード 3 | セッションを取得するための HTTP リクエスト | 文書、例 |
c1.domain.com、c2.domain.com、c3.domain.com など、同じメイン ドメイン名の下に複数のシステムを展開できることを意味します。http://a.com?id=1&name=2 でしたが、ログインに成功すると http://a.com?id=1 になりました。 Sa-Token-SSO には、パラメーターが失われないようにする特別なアルゴリズムがあり、ログイン成功後に元のパスが正確に返されます。Sa-Token OAuth2 モジュールは、さまざまなシナリオでの承認ニーズを解決するために 4 つの承認モードに分割されています。
| 認可モデル | はじめに |
|---|---|
| 認証コードの形式 | OAuth2 標準の認証手順では、サーバー側がコードを解放し、クライアント側がコード code を取得して、それを access_token |
| 非表示 | 代替オプションとして、サーバーは URL リダイレクトを使用して、access_token をクライアント ページに直接転送します。 |
| パスワードの種類 | クライアントは、認証のためにユーザーのアカウントのパスワードを直接交換します。 |
| クライアント証明書の種類 | クライアント レベルのサーバー側 client_token は、アプリケーション自体のリソース認可を表します。 |
詳細な参考資料: https://sa-token.com/doc.html#/oauth2/readme
1. Sa-Token の機能は十分ですか?
7 年間の努力: 5 つのコア モジュール (ログイン、認証、SSO、OAuth2、マイクロサービス) + 多くの実用的なプラグイン (ショート トークン、jwt 統合、API パラメーターの署名、API キー認証...) 権限認証だけでなく、ワンストップ ソリューションを提供します。
2. Sa-Tokenは簡単に習得できますか?
中国語のドキュメント + 中国語のコード コメント + 中国語のコミュニケーション コミュニティ + 多数の実践的な事例ブログ + 複数のビデオ チュートリアル + 多数の優れたオープンソース プロジェクト統合事例。
3. Sa-Tokenを使っている人は多いのでしょうか?
統計日 (2026-1-25) の時点で、Sa-Token は次のとおりです。
これは多くの開発者が自分の足で投票したデータです。これらのデータがSa-Tokenの人気をどんな言葉よりも証明できると信じています。
4. Sa-Token はどのような権威ある認証を持っていますか?
栄誉には、Gitee GVP Most Valuable オープンソース プロジェクト、GitCode G-Star 高品質オープンソース プロジェクト、OSCHINA 2021 人気指数 TOP 30 オープンソース プロジェクト、OSCHINA 2022 中国で最も人気のあるオープンソース プロジェクト コミュニティの 1 つ、Open Atomic Foundation 2023 急成長オープンソース プロジェクト、Dromara Organization トップ プロジェクト (One)、Trusted Open Source Community Community の準備メンバー、および自身が活動するオープンソースコミュニティ「Dromara」「2024年中国インターネット発展イノベーション・投資コンペティション(オープンソース)」で準優勝を受賞。 Gitee ハイスター プロジェクト (5000+スター)。 2025 年の Web アプリケーション開発における Gitee のトップ 2 オープンソース プロジェクト。
5. Sa-Tokenには料金がかかりますか?
Sa-Token は、Apache-2.0 オープン ソース プロトコルを採用し、フレームワーク自体とオンライン ドキュメントが常に無料でオープンであることを約束します。もちろん、Sa-Token のスポンサーに興味がある場合は、遠慮はしません: スポンサーリンク。 スポンサーリストをオンラインドキュメント表示と定期的に同期させます。 (注意すべき点が 1 つあります。このスポンサーシップは単なる友好的なスポンサーシップであり、商業的な交流を提供するものではありません)
6. Sa-Token はカプセル化された SpringSecurity ですか? ApacheShiroのシェルでしょうか?
いいえ。 Sa-Token はバックエンド テンプレートでも、xx フレームワークの二次カプセル化シェルでもありません。コア パッケージへの依存関係がなく、完全に独立した制御可能なアーキテクチャ コア + 多くの主流フレームワークの統合適応を備えた、ゼロから開始する純粋な自社開発フレームワークです。
1つずつ表示しきれない優れたオープンソース事例は他にもあります。Awesome-Sa-Tokenを参照してください。
Sa-Token コミュニティのメンバーは、多言語実装バージョンを提供しました。
上記の言語に精通した開発者を心から招待し、関連するバージョンを一緒に構築してください。 🤝
フレームワークのほぼすべての技術点に対応する統合例を別途作成しました。この圧縮パッケージには合計 60 以上のデモが含まれており、Sa-Token ログイン認証、権限認証、SSO シングル サインオン、OAUth2 統合認証、マイクロサービス認証、API キー認証、JWT 統合、システム間呼び出しパラメータ署名検証など、認証と認証のあらゆる側面をカバーしています。
ダウンロードアドレス: https://sa-token.com/doc.html#/more/download-demos
QQ コミュニケーション グループ: 1098917026 クリックして参加
WeChatコミュニケーショングループ:
<!-- -->PS: QR コードをスキャンして WeChat (注釈: sa-token) を追加し、グループ チャットへの参加を招待します。
グループチャットに参加するメリット: