grails - grails登录验证

标签 grails spring-security

确实似乎在grails网络应用程序中遇到一些基本问题。似乎无论我做什么,我都无法使事情表现出预期的效果。使用Spring Security Core插件向应用程序中添加一些安全性,但是如果用户尚未登录,则无法强制重定向。

这是我面临的许多问题之一,但最好一次解决。任何帮助,将不胜感激。

package timetracker2

import grails.timesecurity.*

class TimeController {

  def springSecurityService

  def loginverify = {
    if (springSecurityService.isLoggedIn()) {
    }
    else {
      render 'Please log in'
    }
  }

  static scaffold = Time
  ....

最佳答案

使用Spring Security,通常不会在代码中检查登录状态。

有两种设置安全要求的方法。

一种是设置URL的安全性要求。这是通过Config.groovy中的interceptUrlMap完成的

另一种是在 Controller 方法上使用Secured注释。
在这种情况下,要求用户登录如下所示:

class TimeController {

  @Secured("IS_AUTHENTICATED_FULLY")
  def someMethodRequiringLogin() {
  }

  @Secured("ROLE_ADMIN")
  def someMethodRequiringAdminRole() {
  }
}

有关更多信息,请参见Simplified Spring Security With Grails

关于grails - grails登录验证,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13670268/

相关文章:

unit-testing - 模拟使用 findAll 的 grails 方法,生成 MissingMethodException

json - Grails - 如何注销已注册的对象编码器

Grails Spring Security Core 插件 - 将 flash 消息添加到登录页面

Grails Spring Security 插件 : Getting 302 for Ajax Request for timedout Session

java - spring security 从数据库中获取用户 ID

java - 在 Grails/Java 上使用 Yahoo Fire Eagle

grails - 使用 Grails 中的命令对象进行更新

jakarta-ee - Spring Security - 'global-method-security' 不起作用

java - 如何解决多个formLogin()无法找到其他loginProcessUrl()的问题?

java - Mockk - 模拟实现多个接口(interface)的最终类​​时出现 ClassCastException