【发布时间】:2023-04-05 10:05:01
【问题描述】:
我如何在ServiceStack 中使用asp.net 会员? (ServiceStack.OrmLite、ServiceStack.Host.AspNet 等)
【问题讨论】:
标签: asp.net asp.net-membership code-first membership servicestack
我如何在ServiceStack 中使用asp.net 会员? (ServiceStack.OrmLite、ServiceStack.Host.AspNet 等)
【问题讨论】:
标签: asp.net asp.net-membership code-first membership servicestack
您可以在custom path 上托管 ServiceStack,即在 /api 上,它允许您并行运行 ASP.NET Web 表单和 ServiceStack,然后在 ASP.NET 中使用普通的 ASP.NET 成员资格提供程序。
然后,您可以使用 ServiceStack 的 Session Provider 与 ServiceStack 共享 UserSessions,这里有一个关于如何 instantiate a Session with MVC 的示例 - 您可以在 ASP.NET 中使用同一个类。
另一种方法是放弃 ASP.NET 成员资格提供程序,只使用built-in authentication in ServiceStack。它包括对凭证的支持(即用户/通行证 - 你想要什么),还包括 Twitter / Facebook / BasicAuth + 你自己的。使用 In-Memory、OrmLite 和 Redis 后端。
这是一个使用all authentication options in the same ServiceStack app with an OrmLite backend的示例网站。
【讨论】:
如果您想使用成员资格,并且想将 ORM lite 与成员资格框架一起使用(尽管您仍然可以使用 SqlMembershipProvider),您可以像这样创建一个自定义提供程序类:
public class ServiceStackMembershipProvider : MembershipProvider
{
}
并使用 ORM 组件实现所有方法(或至少是您需要的方法)。
【讨论】: