小编Pet*_*err的帖子

使用2FA的Asp.Net标识 - 记住会话后不保留浏览器cookie

我正在使用最新的MVC5.2示例代码与Asp.Identity和双因素身份验证.

启用2FA后,当用户登录时,会提示输入代码(通过电话或电子邮件发送),并且他们可以选择"记住浏览器" - 这样他们就不会在该浏览器上再次询问代码.

这在VerifyCode操作中处理

var result = await SignInManager.TwoFactorSignInAsync(model.Provider, model.Code, isPersistent:  model.RememberMe, rememberBrowser: model.RememberBrowser);
Run Code Online (Sandbox Code Playgroud)

请注意,model.RememberMe默认模板中未使用它,因此它为false.

我发现当我这样做时,.AspNet.TwoFactorRememberBrowser它会被设置,在会话结束时到期(所以它不记得浏览器)

现在,如果我设置isPersistent = true,.AspNet.TwoFactorRememberBrowser获得30天的到期,这很好,但.AspNet.ApplicationCookie也有30天到期 - 这意味着当我关闭浏览器并重新打开时,我会自动登录.

我想要它,以便它不会持续我的登录,但它将坚持我选择记住2FA代码.即用户应始终必须登录,但如果他们已经保存,则不应要求他们提供2fa代码.

有没有人看过这个,或者我错过了什么?

asp.net cookies session asp.net-identity

14
推荐指数
2
解决办法
4075
查看次数

如何使用 Hotchocolate 和 EF Core 指定默认排序?

有没有办法添加默认排序字段,以便我可以UsePagingUserSorting,但如果没有指定顺序,我会添加一个字段,例如 Id。但如果用户确实指定了顺序,则不要添加默认值。

例如,我可以将默认排序添加到查询方法中,但其他排序不起作用

[UseContext]
[UsePaging]
[UseProjection]
[UseFiltering]
[UseSorting]
public IQueryable<Property> GetProperties([ScopedService] PropContext dbContext)
{
    return dbContext.Properties
                    .OrderBy(p => p.Id); // Default sort by Prop Id
} 
Run Code Online (Sandbox Code Playgroud)

如果没有排序,实体框架会显示警告:

该查询使用行限制运算符(“Skip”/“Take”),而不使用“OrderBy”运算符。
这可能会导致不可预测的结果

我看到了一些意想不到的结果

entity-framework-core hotchocolate

3
推荐指数
1
解决办法
1128
查看次数