在我正在进行的网络项目中,我遇到了有关重定向的问题。场景是这样的:
a)用户登录。
b)特定表中的记录数确定用户是否会被重定向到特定的控制器/操作
c)用户到达该特定控制器/操作并在此处执行操作
d)(在完成必须完成的工作之后)必须强制用户注销(这可以自动完成吗?)
我想我已经实现了这个场景,直到c)使用ActionFilterAttribute(通过使用该特定类装饰所有控制器)。
但是我如何强制用户退出?
提前致谢
答案 0 :(得分:1)
FormsAuthentication.SignOut从浏览器中删除当前的表单身份验证票证。然后,在访问受限资源之前,将要求用户进行身份验证。
答案 1 :(得分:0)
这实际上取决于应用程序中“登录”的含义。在你重定向到任何地方之前,它可能就像你的行动中的Session.Abandon一样简单。
答案 2 :(得分:0)
假设您正在使用FormsAuthentication,我有一个Logout方法,如下所示:
public static string Logout(HttpContext context, string defUrl)
{
FormsAuthentication.SignOut();
var vir = context.Request.ApplicationPath;
return String.IsNullOrEmpty(vir)
? defUrl
: VirtualPathUtility.Combine(vir, defUrl);
}
FormsAuthentication.SignOut()是关键部分......