Skip to content

Commit c9eda00

Browse files
kiyotisclaude
andauthored
feat: add official_doc_urls and hints to browsable markdown (#155) (#167)
Co-authored-by: Claude Sonnet 4.6 <noreply@anthropic.com>
1 parent e358dcc commit c9eda00

298 files changed

Lines changed: 12986 additions & 2 deletions

File tree

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

.claude/skills/nabledge-6/docs/about/about-nablarch/about-nablarch-01.md

Lines changed: 51 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,9 +1,18 @@
11
# データベースを用いたパスワード認証機能サンプル
22

3+
**公式ドキュメント**: [データベースを用いたパスワード認証機能サンプル](https://nablarch.github.io/docs/LATEST/doc/biz_samples/01/index.html)
4+
35
## 提供パッケージ
46

57
**パッケージ**: `please.change.me.common.authentication`
68

9+
<details>
10+
<summary>keywords</summary>
11+
12+
please.change.me.common.authentication, PasswordAuthenticator, PasswordEncryptor, パッケージ, パスワード認証サンプル
13+
14+
</details>
15+
716
## 概要
817

918
データベースに保存されたアカウント情報(ユーザIDとパスワード)を使用したユーザ認証のサンプル実装。ログイン処理を実行する業務処理の中で使用することを想定している。
@@ -18,6 +27,13 @@
1827

1928
設定内容の詳細は `0101_PBKDF2PasswordEncryptor` を参照。
2029

30+
<details>
31+
<summary>keywords</summary>
32+
33+
PBKDF2, パスワード暗号化, ユーザ認証, ストレッチング, 0101_PBKDF2PasswordEncryptor, アカウント情報
34+
35+
</details>
36+
2137
## 構成:クラス構成
2238

2339
**インタフェース**:
@@ -62,6 +78,13 @@
6278
| `PasswordExpiredException` | 認証時にパスワード有効期限切れの場合の例外。ユーザID、パスワード有効期限、業務日付を保持する |
6379
| `UserIdLockedException` | 認証時にユーザIDがロックされている場合の例外。ユーザIDとロックする認証失敗回数を保持する |
6480

81+
<details>
82+
<summary>keywords</summary>
83+
84+
SystemAccountAuthenticator, PBKDF2PasswordEncryptor, AuthenticationUtil, SystemAccount, AuthenticationException, AuthenticationFailedException, PasswordExpiredException, UserIdLockedException, PasswordAuthenticator, PasswordEncryptor, クラス図, クラス構成, 例外クラス, インタフェース定義
85+
86+
</details>
87+
6588
## 構成:テーブル定義
6689

6790
本サンプルで使用しているアカウントテーブルの定義。本サンプルを導入プロジェクトに取り込む際は、プロジェクトのテーブル定義に従いSQLファイルおよびソースコードを修正すること。
@@ -82,6 +105,13 @@
82105

83106
> **補足**: 上記テーブル定義は本サンプルで必要な属性のみ。導入プロジェクトでは必要なユーザ属性の追加や関連テーブルの作成など要件に応じてテーブル設計すること。
84107
108+
<details>
109+
<summary>keywords</summary>
110+
111+
SYSTEM_ACCOUNT, テーブル定義, USER_ID, LOGIN_ID, USER_PASSWORD, USER_ID_LOCKED, PASSWORD_EXPIRATION_DATE, FAILED_COUNT, LAST_LOGIN_DATE_TIME, システムアカウント
112+
113+
</details>
114+
85115
## 使用方法:概要
86116

87117
パスワード認証の特徴:
@@ -95,6 +125,13 @@ PasswordAuthenticatorおよびPasswordEncryptorはNablarchのシステムリポ
95125

96126
プロジェクトで実装するログイン機能やユーザ登録機能などからは`AuthenticationUtil`を使用すること。
97127

128+
<details>
129+
<summary>keywords</summary>
130+
131+
パスワード認証, 有効日チェック, パスワード有効期限, ユーザIDロック, 認証失敗回数, 最終ログイン日時, AuthenticationUtil, システムリポジトリ
132+
133+
</details>
134+
98135
## SystemAccountAuthenticatorの使用方法
99136

100137
**コンポーネント設定例**:
@@ -126,6 +163,13 @@ PasswordAuthenticatorおよびPasswordEncryptorはNablarchのシステムリポ
126163

127164
> **重要**: SystemAccountAuthenticatorのトランザクション制御が個別アプリケーションに影響しないよう、個別アプリケーションとは別のトランザクションを使用すること。設定例のdbTransactionNameに指定した `"authenticator"` は個別アプリケーションでは使用しないこと。
128165
166+
<details>
167+
<summary>keywords</summary>
168+
169+
SystemAccountAuthenticator, passwordEncryptor, dbManager, failedCountToLock, SimpleDbTransactionManager, コンポーネント設定, XML設定, authenticator
170+
171+
</details>
172+
129173
## AuthenticationUtilの使用方法
130174

131175
AuthenticationUtilでは以下のユーティリティメソッドを実装している。システムリポジトリからコンポーネントを取得する際のコンポーネント名は、SystemAccountAuthenticatorの設定で登録しているコンポーネント名と合わせる必要がある。設定例と異なるコンポーネント名で登録している場合はソースコードを修正すること。
@@ -160,3 +204,10 @@ try {
160204
// 例外処理
161205
}
162206
```
207+
208+
<details>
209+
<summary>keywords</summary>
210+
211+
AuthenticationUtil, authenticate, encryptPassword, AuthenticationFailedException, UserIdLockedException, PasswordExpiredException, AuthenticationException, 使用例, 認証処理実装例
212+
213+
</details>

.claude/skills/nabledge-6/docs/about/about-nablarch/about-nablarch-0101_PBKDF2PasswordEncryptor.md

Lines changed: 44 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,13 +1,29 @@
11
# PBKDF2を用いたパスワード暗号化機能サンプル
22

3+
**公式ドキュメント**: [PBKDF2を用いたパスワード暗号化機能サンプル](https://nablarch.github.io/docs/LATEST/doc/biz_samples/01/0101_PBKDF2PasswordEncryptor.html)
4+
35
## 提供パッケージ
46

57
**パッケージ**: `please.change.me.common.authentication.encrypt`
68

9+
<details>
10+
<summary>keywords</summary>
11+
12+
PBKDF2PasswordEncryptor, please.change.me.common.authentication.encrypt, パッケージ
13+
14+
</details>
15+
716
## 概要
817

918
PBKDF2を使用して、ソルト付加およびストレッチングを行ってパスワードを暗号化する機能の実装サンプル。認証機能内で使用することを想定している。
1019

20+
<details>
21+
<summary>keywords</summary>
22+
23+
PBKDF2, パスワード暗号化, ソルト, ストレッチング
24+
25+
</details>
26+
1127
## 要求
1228

1329
**実装済み**
@@ -21,6 +37,13 @@ PBKDF2を使用して、ソルト付加およびストレッチングを行っ
2137
- ユーザごとにランダムなソルトを付加する機能
2238
- ソルトをデータベース外のセキュアなストレージに保管する機能
2339

40+
<details>
41+
<summary>keywords</summary>
42+
43+
レインボーテーブル対策, 総当り攻撃対策, ソルト, ストレッチング, 実装済み機能, 未検討機能
44+
45+
</details>
46+
2447
## パスワード暗号化機能の詳細
2548

2649
[PBKDF2](https://www.ietf.org/rfc/rfc2898.txt)を使用してパスワードを暗号化する。暗号化されたパスワードはBase64エンコードされた文字列として返却される。
@@ -32,6 +55,13 @@ PBKDF2を使用して、ソルト付加およびストレッチングを行っ
3255

3356
ストレッチング回数の検討方法は「ストレッチング回数の設定値について」を参照。
3457

58+
<details>
59+
<summary>keywords</summary>
60+
61+
PBKDF2, fixedSalt, iterationCount, Base64, ソルト, レインボーテーブル対策, 総当り攻撃対策
62+
63+
</details>
64+
3565
## 設定方法
3666

3767
**クラス**: `please.change.me.common.authentication.encrypt.PBKDF2PasswordEncryptor`
@@ -55,6 +85,13 @@ PBKDF2を使用して、ソルト付加およびストレッチングを行っ
5585
5686
> **補足**: ストレッチング処理はCPU負荷の高い処理。PCIDSSに準拠するシステムでなく特別なセキュリティが必要なければ`iterationCount``1`を指定すればよい。
5787
88+
<details>
89+
<summary>keywords</summary>
90+
91+
PBKDF2PasswordEncryptor, fixedSalt, iterationCount, keyLength, XML設定, ソルト長, 最新情報確認
92+
93+
</details>
94+
5895
## ストレッチング回数の設定値について
5996

6097
`iterationCount`デフォルト値3966の根拠:
@@ -72,3 +109,10 @@ PBKDF2での1回の計算時間がSHA-256の15000倍以上となるように`ite
72109
開発PC(Intel Core i7-4770 3.40GHz)での実測: `iterationCount`を3500〜4000程度に設定するとPBKDF2の計算時間はSHA-256の15000倍程度となる。`iterationCount`=4000時の1回の計算時間は15ms〜20ms程度。
73110

74111
> **重要**: PBKDF2の暗号化処理実行中はCPUをほぼ占有する。実際に稼動する環境でCPUを占有する時間が許容範囲内かどうかを必ず検証すること。
112+
113+
<details>
114+
<summary>keywords</summary>
115+
116+
iterationCount, ストレッチング回数, デフォルト値, 3966, SHA-256, 総当り攻撃, 計算時間, CPU負荷
117+
118+
</details>

0 commit comments

Comments
 (0)