したがって、認証部分を含む MVC フレームワークがあります。以前は巨大な静的クラスだったので、あらゆる種類の楽しい API 破壊的変更を経てきました。私はついに、それが「本当に」どれだけ抽象的である必要があるかについて、突破口を見つけました。
認証には 3 つの部分があるようです
- ユーザー名、パスワード ハッシュなどを保存および読み取るためのデータベース インターフェース
- 適切なハッシュを処理し、ログイン トークンを作成し、それらを検証する「ビジネス」ロジック
- Cookie を処理する「公開」層、またはログイン トークンを格納する「ユーザー側の永続化」層。これは通常、Cookie ですが、HTTP 基本認証である可能性もありますが、
とにかく、すべてを素晴らしいものにし、これらの 3 つのレイヤーを個別に単体テストするという目標で、これらの 3 つの部分のインターフェイスを作成しています。
- IUserStore と ISessionStore
- IAuthメカニズム
- ????
ユーザー側の永続化レイヤーにとってまったく意味のあるインターフェース名を付けるのに助けが必要です。良い名前を思いつくのを手伝ってくれる人はいますか?また、実装者の名前のボーナス ポイント (つまり、Cookie レイヤー クラスと HTTP 基本認証クラス)