【问题标题】:Restrict access by time with spring security in grails application在 grails 应用程序中使用 Spring Security 按时间限制访问
【发布时间】:2011-11-27 23:48:55
【问题描述】:

我正在寻找在我的 grails 应用程序中按时间限制用户访问的方法。我的意思是,用户只能在由星期几以及开始和结束时间定义的允许时间范围内使用(不仅是登录)应用程序。

谁能建议最好的方法?

我正在考虑向我的域模型中添加一组包含时间访问规则的表。此规则将应用于角色和用户。用户规则将覆盖角色规则。

据我了解,我需要实现一些授权(不是身份验证)过滤器,它会检查时间限制。

我是正确的方式之一吗?如果是这样,那么任何人都可以为此任务提供一些有用的链接吗?

【问题讨论】:

标签: authentication grails time spring-security restriction


【解决方案1】:

啊哈,我已经在邮件列表上回答了这个问题。

我写的:

可能的解决方案(双重):

登录: 自定义 UserDetails 类,如果在外部则抛出适当的异常 时间段(不确定它是否是语义上最正确的地方 它,但在那里很容易)。

对于已经登录的人: 在边界运行的 Quartz 作业(比如下午 2 点,如果那是一个插槽) 结束)通过活动会话运行并使它们无效。 您可以通过多种方式保留活动会话列表,一种(一种和一种 真的有一半,不确定你是否可以在程序中使用 Burt 的插件 方式)在这里介绍:

In grails, how do I get a reference to all current sessions?

我现在看到 AccessDecisionVoter 是比自定义用户详细信息更好的解决方案,但对于已经登录的人来说答案仍然相同。

【讨论】:

  • 谢谢 Oliver,我仍然认为 AccessDecisionVoter 是最适合此任务的,但您扩展了我对这项任务的看法。我根本不介意石英......
猜你喜欢
  • 1970-01-01
  • 2014-03-03
  • 1970-01-01
  • 2016-12-24
  • 2012-08-16
  • 2016-01-30
  • 2013-07-21
  • 2011-11-01
  • 2013-09-24
相关资源
最近更新 更多