MVCフォーム認証をServiceStackの認証プロバイダーと統合する例については、 CustomAuthenticationMvcUseCaseプロジェクトを参照してください。
具体的には、AccountController.Login()メソッドは、MVCからServiceStackを呼び出す方法を示しています。
[HttpPost]
[AllowAnonymous]
[ValidateAntiForgeryToken]
public ActionResult Login(LoginModel model, string returnUrl)
{
if (ModelState.IsValid)
{
var authService = AppHostBase.Instance.TryResolve<AuthService>();
authService.RequestContext = CreateRequestContext();
var response = authService.Authenticate(new Auth
{
UserName = model.UserName,
Password = model.Password,
RememberMe = model.RememberMe
});
// add ASP.NET auth cookie
FormsAuthentication.SetAuthCookie(model.UserName, model.RememberMe);
return RedirectToLocal(returnUrl);
}
// If we got this far, something failed, redisplay form
ModelState.AddModelError("",
"The user name or password provided is incorrect.");
return View(model);
}