User类应该实现IPrincipal和IIdentity

时间:2015-02-23 16:40:08

标签: c# asp.net-web-api iprincipal iidentity

我正在为asp.net web api 2构建自己的基于令牌的身份验证,我对user类有疑问。

目前,我的user课程实施了IPrincipalIIdentity,但我不知道最佳做法是什么。您会将IPrincipalIIdentity分开并使IIdentity实施成为IPrincipal的成员吗?

目前我使用以下类声明

class User : IPrincipal, IIdentity

谢谢!

1 个答案:

答案 0 :(得分:3)

  

您是否会将IPrincipal和IIdentity分开并成为IIdentity   实施IPrincipal成员?

我认为这不是一个好方法,因为如果IdentityIPrincipal类似,则不应该有任何理由被分开。

此外,截至目前,您的类实现了两个接口。这意味着您的类实现了两个接口的方法。如果您稍后因任何原因决定您的类不应该实现一个或另一个接口,那么您只需要删除与要删除的接口绑定的方法的实现。

除上述内容外,请注意以下几点:

  

接口隔离原则(ISP)声明没有客户端应该   被迫依赖它不使用的方法

这是五个SOLID原则中的一个,它是面向对象编程和设计的一些基本原则。