我正在为 asp.net web api 2 构建我自己的基于令牌的身份验证,我对这个类有疑问user
。
目前我的user
班级实施IPrincipal
and IIdentity
,但我不知道最佳实践是什么。你会划分IPrincipal
并使实现IIdentity
成为其中的IIdentity
一员IPrincipal
吗?
目前我使用以下类声明
class User : IPrincipal, IIdentity
谢谢!
我正在为 asp.net web api 2 构建我自己的基于令牌的身份验证,我对这个类有疑问user
。
目前我的user
班级实施IPrincipal
and IIdentity
,但我不知道最佳实践是什么。你会划分IPrincipal
并使实现IIdentity
成为其中的IIdentity
一员IPrincipal
吗?
目前我使用以下类声明
class User : IPrincipal, IIdentity
谢谢!
你会划分 IPrincipal 和 IIdentity 并使 IIdentity 实现成为 IPrincipal 的成员吗?
我认为这不是一个好方法,因为如果Identity
类似于,IPrincipal
则不应该有任何分开的理由。
此外,到目前为止,您的类实现了这两个接口。这意味着您的类实现了两个接口的方法。如果您稍后出于任何原因决定您的类不应该实现一个或另一个接口,您应该只需要删除与您要删除的接口相关联的方法的实现。
除了上述之外,请记住以下几点:
接口隔离原则 (ISP) 指出不应强迫任何客户端依赖它不使用的方法
这是SOLID的五项原则之一,是面向对象编程和设计的一些基本原则。