- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我正在开发一个基于 Grails 和 Vaadin 7 的应用程序。我设法让它们与 SpringSecurity 一起用于身份验证和授权,但我必须开发自己的服务来调用 Spring Security 身份验证管理器以使其与 Vaadin 一起使用:
class SecurityService {
static transactional = true
def springSecurityService
def authenticationManager
void signIn(String username, String password) {
try {
def authentication = new UsernamePasswordAuthenticationToken(username, password)
SCH.context.authentication = authenticationManager.authenticate(authentication)
} catch (BadCredentialsException e) {
throw new SecurityException("Invalid username/password")
}
}
}
remember me
身份验证,我不知道从哪里开始。
authenticationManager
知道我想让它使用
remeberMeAuthentication
?我可以从登录 View 上的复选框中获取一个 bool 值,但接下来我该怎么做呢?
最佳答案
由于您的问题是针对来自登录页面的复选框值(记住我标志)的处理,因此答案是您必须调用 loginSuccess
或 loginFail
RememberMeServices的方法| . loginSuccess
在响应中添加自动登录 cookie 和 loginFail
删除该 cookie。
但我想上面的答案对你没有多大帮助,除非你确定你有 RememberMeServices
在您的应用程序中配置。也许遵循配置 RememberMeServices
的步骤将帮助您按照自己的方式完成所有工作(或帮助您了解开箱即用的功能):
(1) 创建一个实现RememberMeServices
的类(称为myRememberMeServices)和 LogoutHandler .
(2) 在autoLogin
方法,解析cookie值后创建一个认证对象(UsernamePasswordAuthenticationToken)。
(3) 在loginFail
方法,取消cookie。
(4) 在loginSuccess
方法,创建一个自动登录cookie。添加您将在 autoLogin 方法中使用的值。通常 cookie 值是加密的。
(5) 在logout
方法,取消cookie。
(6) 在以下四个地方注入(inject) myRememberMeServices 并调用适当的方法:
(a) At the time of successful login (if checkbox value is set),
(b) At the time of failed login,
(c) On logout, and
(d) In filter that does autologin
authenticationManager
和
RememberMeServices
在它的构造函数中。
authenticationManager
不需要知道任何关于记住我的事情。需要了解
authenticationManager
的过滤器(或任何处理自动登录的类)和
RememberMeServices
. (换句话说,向
RememberMeServices
索要一个 token 并将其传递给
authenticationManager
以进行自动登录)。
关于grails - SpringSecurity : how to specify remember me authentication?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16009206/
如 https://developer.android.com/jetpack/compose/side-effects , 我们有 derivedStateOf这有助于防止不必要的重组。 有了这个,
我正在使用 AWS Cognito Identity JS SDK ( https://github.com/aws/amazon-cognito-identity-js ),并尝试设置一些按钮来测试
按照教程, 我已经使用 Auth 构建了身份验证系统。 Pyramid 的 API。 我想了解如何在登录中引入两件事(勾选框): 记住我的名字 记住我的密码 我怎样才能做到这一点?我需要做什么? 谢谢
我在 Auth/ORM 和 auto_login 方面遇到问题。我将生命周期设置为两周,但无论浏览器是否关闭,我都会在大约一个小时后注销。事实上,它是基于时间的,因为 session 确实存在,即使在
我需要在使用 django-registration 应用程序的登录表单中实现一个“记住我”按钮。任何ane可以帮助我向我展示这样做的方法吗? 谢谢 最佳答案 一种方法是更改 session 到期
我有一个函数,它从数据库检索数据并将其传递给回调。出于优化目的,我希望此数据最多每 60 秒更新一次。我的闭包函数如下所示: function delayedUpdate(fn, delay, cal
我正在编写一个配备“记住我”的登录表单,到目前为止,我读过的教程(部分是为了确保我做得正确)都说将加密的密码存储在一个 cookie 和用户名。然后,每次 PHP 检查当前用户是否未登录时,检查他们的
我正在尝试在基于 ServiceStack 的项目中实现记住我 功能。我不想使用基本身份验证,因为它需要在浏览器 cookie 中以明文形式存储密码,因此我需要想出一种易于维护和自定义到我现有数据库的
我无法“记住”在 emacs 的组织模式下工作。 我在雪豹上。 我加了 (global-set-key (kbd "C-M-r") 'org-remember)到我的 .emacs 文件但是当我尝试使
问题是关于 JS 闭包的。我有红色的定义和例子,我相信我相当了解这个机制。所以,问题是关于我不明白的具体事情。请考虑以下两个代码。代码一: function a(){ let x = 5; retur
我正在实现“记住我”功能,我希望用户不必再次输入登录名/密码。 它似乎在本地工作,但在共享主机中,它持续大约 15 分钟然后注销。这是代码: 控制者: FormsAuthentication.SetA
在我的 Android 应用程序中,我使用一组随机生成的文件名来存储一些数据。为了确保在应用程序重新启动时生成相同的文件名集 - 并且每个应用程序安装都不同 - 我通过从一长串随机字母数字字符中选择名
当我尝试在特定数据库中重新创建特定表时,MySQL 让我很伤心;我认为问题出在 MySQL 的某个地方有一些表的外键记录,并在我尝试重新创建表时不断尝试检查约束。 有问题的数据库用于测试环境,并通过转
我正在尝试弄清楚如何在我正在开发的应用程序中实现“记住我”。目前我的实现看起来像这样。 用户登录并请求被记住 服务器使用电子邮件/密码验证用户 如果验证成功,我会使用用户的电子邮件和存储在服务器上的
我正在尝试使用 PHP 和 MySQL 创建一个登录系统。我使用 cookie 是为了让用户长时间保持登录状态。 cookie 有一个随机生成的字符串,它也在数据库中。将它们相互比较并采取适当的行动。
我在 Google CodeLabs:这是代码: @Composable fun WaterCounter( modifier: Modifier = Modifier, ) { va
如何在Grails中实现“记住我”功能,以便用户可以检查它,而他又不必在2周内再次登录? 我正在使用jSecurity插件,并希望在浏览器 session 之外更改cookie的生存期。 最佳答案 S
我最近一直在思考这个问题,我想从这个很棒的社区得到一些反馈。假设用户希望在登录时被记住是否安全?如果他们使用的是公共(public)计算机,是否可以假设他们足够聪明,可以在离开前注销? 最佳答案 我真
我试图使用带有用户名和 token 的cookie向网站添加“记住我”功能,该cookie也以加密方式存储在数据库中。我的问题是该 token 应保留多长时间? One website I read说
当要记住我的cookie时,有两种不同的方法: 哈希 “记住我” cookie存储一个可以标识用户的字符串(即用户ID)和一个可以证明所标识的用户是假装的用户的字符串-通常是基于用户密码的哈希。 to
我是一名优秀的程序员,十分优秀!