MVC AuthenticationManager.SignOut() 未注销

2024-01-10

我的项目基于 Visual Studio 2013 中的 MVC 5 项目模板(个人用户帐户选项)。我一直依赖用户的默认登录和注销方法。但我不确定我做了什么,在某些时候,用户无法再注销,但他们可以以其他用户的身份登录。

这是帐户控制器的默认注销方法

    [HttpPost]
    [ValidateAntiForgeryToken]
    public ActionResult LogOff()
    {
        AuthenticationManager.SignOut();
        return RedirectToAction("Index", "Home");
    }
    private IAuthenticationManager AuthenticationManager
    {
        get
        {
            return HttpContext.GetOwinContext().Authentication;
        }
    }

这是显示用户用户名的默认 _LoginPartial.cshtml 视图。

    @using Microsoft.AspNet.Identity
    @if (Request.IsAuthenticated)
    {
        using (Html.BeginForm("LogOff", "Account", FormMethod.Post, new { id = "logoutForm", @class = "navbar-right" }))
        {
            @Html.AntiForgeryToken()

            <ul class="nav navbar-nav navbar-right">
                <li>
                    @Html.ActionLink("Hello " + User.Identity.GetUserName() + "!", "Index", "Manage", routeValues: null, htmlAttributes: new { title = "Manage" })
                </li>
                <li><a    href="javascript:document.getElementById('logoutForm').submit()">Log off</a>            </li>
            </ul>
        }
    }
    else
    {
        <ul class="nav navbar-nav navbar-right">
            <li>@Html.ActionLink("Register", "Register", "Account", routeValues: null, htmlAttributes: new { id = "registerLink" })</li>
            <li>@Html.ActionLink("Log in", "Login", "Account", routeValues: null, htmlAttributes: new { id = "loginLink" })</li>
        </ul>
    }

当用户注销时,它会将用户定向到登录页面,但仍然显示用户的用户名,这意味着他们尚未注销。并且浏览器上的url显示http://localhost/Account/Login?ReturnUrl=%2FAccount%2FLogOff http://localhost/Account/Login?ReturnUrl=%2FAccount%2FLogOff

它不会将用户带回到主页的索引页面。所以我的猜测是在 AuthenticationManager.SignOut(); 语句中发生了一些事情。我很困惑,因为我没有对帐户控制器进行任何更改。

任何线索将不胜感激。


我有同样的问题。 在 CodePlex 上检查此问题:

http://web.archive.org/web/20160403071605/https://aspnetidentity.codeplex.com/workitem/2347 http://web.archive.org/web/20160403071605/https://aspnetidentity.codeplex.com/workitem/2347

尝试更换AuthenticationManager.SignOut() with AuthenticationManager.Signout(DefaultAuthenticationTypes.ApplicationCookie);

我希望我能帮助你。 :-)

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

MVC AuthenticationManager.SignOut() 未注销 的相关文章

  • 如何将 Ajax.BeginForm MVC 助手与 JSON 结果一起使用?

    我正在尝试使用 ASP NET MVC Ajax BeginForm 帮助程序 但不想在调用完成时使用现有的内容插入选项 相反 我想使用自定义 JavaScript 函数作为回调 这可行 但我想要的结果应该以 JSON 形式返回 不幸的是
  • 如何分配Profile值?

    我不知道我缺少什么 但我在 Web config 文件中添加了 Profile 属性 但无法访问 Profile Item在代码中或创建一个新的配置文件 我今天也遇到了同样的问题 学到了很多东西 Visual Studio 中有两种项目 网
  • 如何在 MVC 3 中基于 XML 文件动态创建控件

    我有一个以 XML 格式存储在数据库中的 XML 文件 其中包含一些控件 例如下拉文本框 标签文本区域等 这些控件可能有也可能没有初始值 所以我的目标是读取 XML 文件 并根据控件类型 我需要动态创建该控件并关联初始值 如果有 并且页面的
  • 我可以将 JSON 字符串转换为 JsonResult 吗?

    我在数据库中存储了一些存储的 JSON 字符串 我想将其作为 JsonResult 返回给客户端 我知道 Json object 将对象转换为 JsonResult 但如果我已经将结果存储在字符串中怎么办 我可以将其转换为 JsonResu
  • ASP.NET MVC - 以一种形式处理多个对象

    我遇到了一个场景 我有一个域对象 它附加了一组对象 像这样的事情 public class Person public string Name get set public IList
  • MVC 中的 Blazor:组件被渲染,但 @onclick 不起作用。连接问题

    我正在尝试在 net core 3 MVC 项目中使用 Blazor 我使用了一些教程来做到这一点 例如https fizzylogic nl 2019 08 18 integrating blazor in an existing asp
  • 在 ASP.NET MVC 中使用 MySQL 的 AccountController

    在 Visual Studio 中创建默认的 ASP NET MVC 项目会设置一个可以在其中注册用户的基本项目 我将如何继续更改它以使用 MySQL 服务器而不是 SQLServer 现在可以使用了 安装最新的 Connector NET
  • 我可以在 ASP.NET MVC 中使用 [CompressFilter] 而不破坏甜甜圈缓存吗

    我正在努力获得 压缩过滤器 http www thegrubbsian com p 202 使用甜甜圈缓存并遇到问题 发生的情况是整个页面都被缓存 而不仅仅是甜甜圈 的来源CompressFilter我正在使用的是下面的 我从原始来源 ht
  • ASP.NET MVC:FileStreamResult 返回太多字节?

    我正在调用 MVC 控制器方法 返回类型是FileStreamResult 在此方法中 我以字节数组的形式创建图像 我正在创建一个 MemoryStream 在构造函数中传递字节数组 然后 我在构造函数中返回一个新的 FileStreamR
  • ASP.NET 视图中的区域?

    我正在使用 razor 引擎制作 ASP NET MVC 应用程序 我想知道是否可以使用Regions http msdn microsoft com en us library 9a1ybwek aspx在一个视图中 就像是 region
  • 为什么这条路线不匹配

    我在获取匹配路线时遇到一些问题 我使用 base 32 编码的 int 作为 Web 应用程序中幻灯片的短链接 每个幻灯片有 5 个不同的版本 我使用首字母来区分每个版本 路由始终匹配 除非 Base 32 编码 int 的第一个字符与指定
  • 盒式捆绑包与 MVC4 捆绑包

    我目前正在开发一个原型 ASP NET MVC 3 解决方案 该解决方案将用作多个项目重写的基础 来自 Web 表单 我的目标之一是跨应用程序实现一些脚本管理 而不是我们目前没有的目标 MVC 3有一个缺陷恕我直言 如果您需要在部分视图或模
  • 保护 ASP.NET MVC 应用程序中的 ajax 调用的安全

    我有一个基于 ASP NET MVC 的应用程序 它允许根据用户进行不同级别的访问 当前的工作方式是 当用户访问页面时 会根据数据库进行检查以确定用户拥有的权限 然后根据用户拥有的访问级别选择视图 有些用户比其他用户看到更多数据并拥有更多可
  • MVC ASP.NET 或 Razor

    我对 MVC 很陌生 我对 Silver light WPF 和 MVVM 有相当多的了解 但对 MVC 知之甚少 我正在按照 Microsoft 网站上的主要教程进行操作http www asp net mvc tutorials get
  • 纠正我在 mvc 中的 url 路由

    在我的 global asax 文件中 我有一个注册路由 routes MapRoute Default Route name controller action id URL with parameters new controller
  • ASP.NET MVC 防伪造令牌不安全

    在没有 ssl 的情况下向服务器发出请求时 我实际上可以看到 MVC3 框架以纯文本形式生成的验证令牌密钥 该密钥存储在名为 RequestVerificationToken Lw 的 cookie 中 在混合安全环境中 实际上可以在向非
  • 如何使用 Visual Studio 2013 和实体框架将控制器添加到 ASP.NET MVC?

    当我使用 ASP NET MVC 5 0 和 Entity Framework 6 0 在 Visual Studio 2013 中添加控制器时 出现错误 我已经添加了一些控制器并生成了视图 但是在添加数据表包之后 我收到了此类错误 Err
  • jsFiddle 中的 jQuery 不显眼的自定义适配器和方法

    我无法使 jsFiddle 工作 但它可以在浏览器中工作 http jsfiddle net vtortola jYq2X http jsfiddle net vtortola jYq2X 我正在尝试添加新的自定义规则来比较两个字段 自定义
  • 在 var 中渲染多个空格

    我试图在我的 var 中添加多个空格 但它被削减为一个空格或者呈现出来 仿佛 我尝试过使用 20 有人还有其他想法吗 ViewBag Subheading 曝光 我希望它看起来像这样 曝光 ViewBag Subheading Bringi
  • DropDownListFor 具有带有 - 属性名称的自定义属性?

    问题 我需要创建一个像这样的下拉列表

随机推荐

  • GitKraken 与 git-crypt 的互操作性

    git 密码 https github com AGWA git crypt使用 git CLI 时效果非常好 我已经为 git crypt 设置了一切 gitattributes 创建 编辑我想要加密的文件后 我执行 git add 文件
  • Payumoney Codeigniter 集成

    I am working on CodeIgniter payUmoney integration I have a registration form from where one registers and get paid with
  • 您的应用程序委托集在哪里?谁初始化它的 window 和 viewController 属性?

    我有一个关于 IOS 应用程序的新手问题 如果我创建一个名为 TestForStackOverflow 的新的基于视图的应用程序 Xcode 会自动为 TestForStackOverflowAppDelegate h 创建如下代码 cla
  • Prolog 中的树

    我正在 Prolog 中研究二叉树 我知道结构 但我不明白幻灯片中的这段代码 binary tree void binary tree tree Element Left Right binary tree Left binary tree
  • 如何在r中为异方差数据设置加权最小二乘?

    我正在对人口普查数据进行回归 其中因变量是预期寿命 并且有八个自变量 数据是按城市汇总的 因此我有数千个观察结果 不过 我的模型有点异方差 我想运行加权最小二乘法 其中每个观察值均按城市人口加权 在这种情况下 这意味着我想通过总体平方根的倒
  • SQL Server 2008 R2 - sqlcmd bat 文件在文件夹中运行一批 sql 查询,但它们不按文件名顺序运行

    我写了一堆sql脚本 我希望在文件夹中按顺序批量运行 阅读完后 我求助于创建一个bat文件 其中包括使用sqlcmd 对于这组特定的脚本 当我运行 bat 时 它似乎没有按顺序运行 我不知道发生了什么 因为我尝试在开头使用前缀数字对 sql
  • IPython Notebook:默认编码是什么?

    我已经使用 utf 8 编码创建了一个包 当调用一个函数时 它返回一个DataFrame 其中有一列以 utf 8 编码 在命令行使用 IPython 时 显示该表的内容没有任何问题 使用笔记本时 它崩溃并出现错误 utf8 codec c
  • 通用 getter 和 setter 方法[关闭]

    Closed 这个问题需要细节或清晰度 help closed questions 目前不接受答案 我正在尝试编写一个抽象类 这个类将是一个 Field 会有不同类型的字段 需要扩展字段类并编写自己的 setter 类 例如 将会有一个字符
  • ZipArchive 在 Laravel 中不起作用

    我有 laravel 项目 想要添加压缩文件的功能 我正在使用 php ZipArchive 当我尝试仅使用 PHP 创建 ZIP 文件时 我很幸运 但是当我尝试使用 Laravel 时 未创建 zip 文件 所以我添加了 使用ZipArc
  • 时间:2019-03-17 标签:c++STLmin_element

    我想找到数组中的最小元素 但如果最小元素出现多次 那么我想要该元素的最后一次出现 我用了std min element 和我的comp 功能 vector
  • Julia 浮点比较为零

    julia gt r 3 3 Array Float64 2 1 77951 0 79521 2 57472 0 0 0 630793 0 630793 0 0 0 0 1 66533e 16 julia gt sort abs diag
  • 使用核心转储在 Linux 中进行调试

    使用 GDB 调试核心转储时的 最佳实践 是什么 目前 我面临一个问题 我的应用程序的发行版是在没有 g 编译器标志的情况下编译的 我的应用程序的调试版本 使用 g 编译 已存档 以及源代码和发布二进制文件的副本 最近 当用户给我一个核心转
  • 如何将图像保存为变量?

    现在 我有一个带有精灵的 python 游戏 它从其目录中的文件中获取图像 我想让它变得我什至不需要这些文件 不知何故 将图像预先存储在变量中 以便我可以从程序中调用它 而无需额外的 gif 文件的帮助 我使用图像的实际方式是 image
  • 如何在jsp中显示图片?

    我有一个字节数组图像 我需要在 jsp 页面中以 jpg 格式显示该图像 单击该图像时 我可以将图像下载到我的电脑上 我正在从 mysql 数据库将图像加载为字节数组 我的代码是 ResultSet res statement execut
  • SCORM 1.2 API 示例/教程

    我花了相当多的时间搜索 SCORM 1 2 API 教程 示例 结果证明这是一项相当困难的任务 我发现的唯一样本是这样的 http www vsscorm net 2009 05 30 ground rules http www vssco
  • maven-compiler-plugin:jar:3.8.1 丢失

    尝试使用 3 8 1 而不是 3 8 0 但收到消息 警告 org apache maven plugins maven compiler plugin jar 3 8 1 的 POM 丢失 没有可用的依赖信息 我的 pom xml 在 3
  • 如果 File 不存在,如何确定它是否是文件或目录?

    File isFile and File isDirectory 不仅当File不是指定的类型 而且当File其本身不存在于文件系统上 如何判断是否File当文件或目录不存在时代表它 一般来说 一个特定的路径既可以代表一个目录 也可以代表一
  • 使用 Node.JS

    昨晚我转储了 Windows 7 并格式化了我的硬盘驱动程序以移植到基于 Linux 的操作系统 纯粹是因为我想开始使用Node JS 所以我已经安装了Node JS并做了一些测试 http 服务器和套接字等 我想做的是构建一个与 MVC
  • 如何使用 pgAdmin 添加几何列

    我正在使用在 PostgreSQL 中创建的数据库 在其架构中有两个表 我想在其中一个表中添加一个geometry柱子 问题是我创建了 postgis 扩展 CREATE EXTENSION postgis 对于数据库 但我无法使用 pgA
  • MVC AuthenticationManager.SignOut() 未注销

    我的项目基于 Visual Studio 2013 中的 MVC 5 项目模板 个人用户帐户选项 我一直依赖用户的默认登录和注销方法 但我不确定我做了什么 在某些时候 用户无法再注销 但他们可以以其他用户的身份登录 这是帐户控制器的默认注销