Orchard CMS自定义会员资格

Oll*_*Oll 5 orchardcms

将自定义成员资格提供程序与Orchard集成的首选方法是什么?

我已经看到几个关于实现新的IMembershipService和IUserService(来自Orchard.Users)的帖子,然后还有其他模块,比如OpenAuthentication,它们似乎做了很多(但仍使用UserPart ??).

我们已经编写了一个ASP.NET成员资格提供程序,可以按原样集成吗?

Pio*_*myd 7

IMembershipService如果您根本不想使用默认的Orchard.Users模块,那么自定义实现是一种方法.在您仍想要进行表单身份验证时很有用,但只需将身份验证数据存储在其他位置,而不是在UserPart中.

如果要创建完全自定义的身份验证方案,则会覆盖基于表单的默认身份验证方案(用户名+密码),覆盖IAuthenticationService.

所以,一般来说:

  • IMembershipProvider 是关于身份验证数据管理(创建/检索用户)
  • IAuthenticationProvider 是关于执行身份验证(登录/退出/获取当前用户等)

根据您的需要,您可以覆盖其中一个或两个.

常见的auth模块,如OpenAuth模块,为现有的默认模块添加了额外的身份验证选项,而不实际替换它,IIRC.

  • 如果使用单独的数据存储实现IMembershipService,那么ContentItem属性来自何处以返回IUser? (3认同)
  • 因此,最好的解决方案是创建一个模块,向用户添加一个部件,并存储将给定的Orchard用户与外部用户(例如一些ID)连接起来所需的一些数据.然后,在您的`IMembershipService`中,您可以使用该ID用外部数据存储中的必要数据填充您的自定义`IUser`对象. (2认同)