我最近通过ServiceStack 4使用身份验证和角色创建了Web服务,包括由MongoDB存储库支持的openId和OAuth提供程序Google,Twitter和LinkedIn。
我想将这些服务与我的ASP.NET 5 MVC网站集成,该网站目前使用Microsoft的新身份(OWIN)框架与注册,身份验证和角色相同的提供程序。
我更愿意使用ServiceStack进行身份验证,注册和角色,并让我的MVC控制器对其进行授权。我已经阅读了关于SimpleMembership
的帖子以及围绕ServiceStack中的授权和会话处理的wiki。
我想知道的是,是否有一个入门模板或示例采用最新的MVC 5模板并将其替换/与ServiceStack 4集成。
具体来说,现有的AccountController
,IdentityUser
,UserManager
和UserStore
如何被替换/修改以使用ServiceStack?
答案 0 :(得分:1)
我想知道的是,是否有一个入门模板或示例采用最新的MVC 5模板,并将其替换/与ServiceStack 4集成。
ServiceStackVS是一个扩展,允许从头开始创建ServiceStack支持的项目。 ASP.NET MVC 5有一个模板。
具体来说,如何替换/修改现有的AccountController,IdentityUser,UserManager和UserStore以使用ServiceStack?
具体来说,您的所有控制器都需要从ServiceStackController<T>
继承(其中T
为IAuthSession
)。
在您的Global.asax Application_Start
中,您需要初始化AppHost。
然后,你有类似的东西
public class MyAppHost : AppHostBase
{
public MyAppHost() : base("My Service Name")
{
}
public override void Configure(Container container)
{
// Configure your container here (authentication, plugins...)
}
}
public class MvcApplication : HttpApplication
{
private MyAppHost AppHost { get; set; }
protected void Application_Start()
{
//...
AppHost = new MyAppHost(this).Init();
ControllerBuilder.Current.SetControllerFactory(new FunqControllerFactory(AppHost.Container));
//...
}
}