2013-02-20 24 views
0

所以,我有一个MVC框架包括一个身份验证片。它正在经历各种有趣的API,因为之前它是一个巨大的静态类。我终于突破了它“真正”需要的抽象。什么可以调用“cookie”认证层?

似乎有三个部分认证

  1. 数据库接口存储和读取用户名,密码哈希值,等向/从
  2. 的“业务”逻辑它处理正确的散列,创建登录令牌并验证它们
  3. 处理cookie的“公开”层或存储登录标记的“用户端持久性”层。这通常是饼干,也可能会被HTTP基本验证虽然

不管怎样,在使一切真棒,独立单元测试这些3层,我正在做接口,这三个部分的目标:

  1. IUserStore和ISessionStore
  2. IAuthMechanism
  3. ????

我需要帮助提供一个接口名称,对于用户端持久层有任何意义。任何人都可以帮我想出一个好名字吗?此外,实现者的名称(即,Cookie层类别和HTTP基本认证类别)的奖励积分

+0

你有没有试过掷硬币的方法(挑头或尾巴,掷硬币,如果不喜欢结果 - 再次扔到高兴)?选择任何名称,使用它10分钟 - 重构,如果它听起来不正确... – 2013-02-20 07:09:13

回答

1

名称应该直接从描述中出现。在你的情况下,你已经描述了一切,所以剩下的只是挑选最重要的部分。从我的观点来看,关于第三部分最重要的是它持续存在身份验证信息,无论是Cookie还是登录令牌或其他任何信息。那么为什么不叫它IAuthPersister甚至IAuthenticationPersister?在这种情况下,实现者的名字是CookieAuthPersister,HttpBasicAuthPersister等,表示图层和下面实现的方法。