- c - 在位数组中找到第一个零
- linux - Unix 显示有关匹配两种模式之一的文件的信息
- 正则表达式替换多个文件
- linux - 隐藏来自 xtrace 的命令
我想做的是限制用户 ID 一次只能登录一台设备。例如,用户 ID“abc”登录到他们的计算机。用户 ID“abc”现在尝试从他们的手机登录。我想要发生的是终止他们计算机上的 session 。
为此,我正在使用 Asp.net mvc 身份成员身份并使用 SecurityStamp。这是我在帐户/登录操作中的代码:
[HttpPost]
[AllowAnonymous]
[ValidateAntiForgeryToken]
public async Task<ActionResult> Login(LoginViewModel model, string returnUrl)
{
var user = UserManager.FindByEmail(model.Email);
var result = await SignInManager.PasswordSignInAsync(model.Email, model.Password, model.RememberMe, shouldLockout: false);
await UserManager.UpdateSecurityStampAsync(user.Id);
根据 UpdateSecurityStampAsync
方法文档说:为用户生成一个新的安全标记,用于 SignOutEverywhere 功能。但它不起作用。
最佳答案
如果您想在其他设备上启用 cookie 的即时失效,那么每个请求都必须访问数据库以验证 cookie。为此,您需要在 Auth.Config.cs 中配置 cookie 失效并将 validateInterval 设置为 0:
app.UseCookieAuthentication(new CookieAuthenticationOptions
{
Provider = new CookieAuthenticationProvider
{
// Enables the application to validate the security stamp when the user logs in.
// This is a security feature which is used when you change a password or add an external login to your account.
OnValidateIdentity = SecurityStampValidator
.OnValidateIdentity<UserManager, ApplicationUser>(
validateInterval: TimeSpan.FromSeconds(0),
regenerateIdentityCallback: (manager, user) => user.GenerateUserIdentityAsync(manager))
}
);
关于c# - Asp.net mvc identity SecurityStamp 无处不在注销,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36151800/
我们突然开始收到 SequelizeConnectionAcquireTimeoutError 2或3周前的日志,我不知道我能做些什么了。 所以显然有一个连接池,当它已满时,之后的所有操作都会超时,因
由于 IE 的原因,我需要构建一个自定义错误,但是,必须尽我所能,使用构造函数检查错误。 customError instanceof CustomError; // false customErro
相当确定 gradle 适合我。几天前启动了一个运行良好的项目。更新了android studio,再次打开项目。我已经尝试了所有我能想到的方法,从删除/更新检查 xml 文件和结构的库。删除 gra
我希望看到 SO 社区对此的回应。我了解 ViewModel 基本上用于将 View 与数据绑定(bind)。当表单提交时,返回(模型绑定(bind))的对象应该是 ViewModel 还是实体?我知
我想知道 NSUserDefaults 对象是否是共享的,并且可以从应用程序委托(delegate)以及我的几个 View Controller 中访问。基本上我需要从应用程序委托(delegate)
将所有 Sql Server 2008 字符串列设为 varchar(max) 是否有任何问题?我允许的字符串大小由应用程序管理。数据库应该只保留我给它的内容。在 Sql Server 2008 中将
因此,我一直在尝试对自定义 WordPress 主题进行一些更改,该主题引入了对仪表板的全面检修。我一直发现我需要修复的原始主题的小问题(导入新帖子时未正确检查重复帖子,未正确存储帖子元数据,未将帖子
我到处都能看到 Open Sans 字体,大多数时候它都非常流畅,即使在 Chrome 中也是如此。但是当我从 adobe typekit 或 google fonts 添加 open sans 到我
我有一个通用 Parameter 接口(interface)及其ParameterImpl 具体类。 T 可以是 float 、长整型、整数或字符串。 public interface Paramet
我正在尝试编写一个简单的 Ubiquity将在 Wolfram Alpha 上运行查询的命令, 并在 Ubiquity 预览对象中显示结果。 我需要设置预览对象的innerHTML。我目前这样做是为了
我有一个完全自定义的 PHP 站点,其中包含大量数据库调用。我刚刚被注入(inject)黑客攻击。下面的这一小段代码出现在我的许多 PHP 页面中。 而且这个看起来不像 SQL 注入(inject)
我有一个 IntelliJ java 项目,我的源文件夹下有一些 HTML 文件模板。该项目已构建并输出到\target\文件夹。 HTML 文件模板也被复制到目标文件夹。 我一直试图从“到处搜索”结
我在尝试让 iCloud 与我的应用程序一起工作时遇到了一些麻烦。我尝试按照 Tim Roadley 的示例 here ,但每当通过 Xcode 启动应用程序时,仍然会显示下面的日志(同步确实可以短暂
我是一名优秀的程序员,十分优秀!