0

所以,我有一个 MVC 框架,包括一个身份验证部分。它经历了各种有趣的 API 突破性更改,因为以前它是一个巨大的静态类。我终于对它“真正”需要多么抽象有了一个突破。

身份验证似乎分为三个部分

  1. 用于存储和读取用户名、密码哈希等的数据库接口
  2. 处理正确散列、创建登录令牌和验证它们的“业务”逻辑
  3. 处理 cookie 的“暴露”层或存储登录令牌的“用户端持久性”层。这通常是 cookie,但也可能是 HTTP 基本身份验证

无论如何,为了让一切都很棒并且独立地对这 3 层进行单元测试,我正在为这三个部分制作接口:

  1. IUserStore 和 ISessionStore
  2. IAuth机制
  3. ???

我需要一个接口名称的帮助,该名称对用户端持久层完全有意义。谁能帮我给它起个好听的名字?此外,实施者姓名(即,cookie 层类和 HTTP 基本身份验证类)的加分项

4

1 回答 1

1

名称应直接来自描述。在您的情况下,您已经描述了所有内容,所以剩下的就是挑选最重要的部分。从我的角度来看,关于第三部分最重要的事情是它保留了身份验证信息,无论是 cookie 还是登录令牌或其他任何东西。那么为什么不叫它IAuthPersister甚至IAuthenticationPersister呢?在这种情况下,实现者的名称将是CookieAuthPersisterHttpBasicAuthPersister等,表示层和下面实现的方法。

于 2013-02-20T07:30:30.243 回答