在 MVC 控制器中为 WebForms 应用程序设置 Cookie
本文关键字:应用程序 设置 Cookie WebForms MVC 控制器 | 更新日期: 2023-09-27 18:36:45
我的web.config中有以下内容:
<authentication mode="Forms">
<forms name=".MyWebSite" enableCrossAppRedirects="true" loginUrl="Login" timeout="60" path="/" defaultUrl="~/Pages/Landing.aspx"></forms>
</authentication>
Login
是正在运行的 MVC 路由。
从我的登录POST
方法中,假设用户名/密码有效:
FormsAuthentication.SetAuthCookie(model.Username, true);
这是对的吗? 这是否与 WebForms 登录控件代码执行的操作相同? 它似乎工作正常,但我想确保我不会在这里忽略某些东西。
简短的回答是,是的,这对 MVC 来说也很好。
更长的答案是 - 身份验证模块并不真正关心在管道中执行什么处理程序。表单身份验证模块负责 Cookie,如果它看到一个 cookie,它会相应地设置HttpContext.Current.User
。在处理程序中发生的情况,无论是 MVC、WebForms 页、WCF 服务、WebApi 服务还是其他任何内容,标识都以完全相同的方式设置。