强制重定向到特定操作(ASP MVC)

时间:2009-11-05 20:36:39

标签: asp.net-mvc

在我正在进行的网络项目中,我遇到了有关重定向的问题。场景是这样的:

a)用户登录。

b)特定表中的记录数确定用户是否会被重定向到特定的控制器/操作

c)用户到达该特定控制器/操作并在此处执行操作

d)(在完成必须完成的工作之后)必须强制用户注销(这可以自动完成吗?)

我想我已经实现了这个场景,直到c)使用ActionFilterAttribute(通过使用该特定类装饰所有控制器)。

但是我如何强制用户退出?

提前致谢

3 个答案:

答案 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()是关键部分......