gpt4 book ai didi

authentication - 从 ServiceStack 利用表单例份验证的最简洁方法是什么?

转载 作者:行者123 更新时间:2023-12-04 18:46:24 25 4
gpt4 key购买 nike

我正在尝试将 ServiceStack 与现有的 Web 表单站点集成。该站点使用表单例份验证以及一些涉及数据库调用等的自定义身份验证逻辑。

如何使用相同的机制保护 ServiceStack 调用?阅读docs ,看来我应该编写一个继承自 CredentialsAuthProvider 的自定义身份验证提供程序做数据库检查等,并添加一个请求过滤器来应用 AuthenticateAttribute对每个请求。我是否还需要设置表单例份验证票,一旦通过身份验证,并检查每个请求的票?我会在哪里做这些事情?

我错过了什么吗?有没有更好的方法?

最佳答案

CustomAuthenticationMvc UseCase 项目,用于将 MVC 表单例份验证与 ServiceStack 的身份验证提供程序集成的示例。

特别是 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);
}

关于authentication - 从 ServiceStack 利用表单例份验证的最简洁方法是什么?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13478515/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com