0

似乎真的在为 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
  ....
4

1 回答 1

2

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

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

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

另一种是在控制器方法上使用 Secured 注解。在这种情况下,要求用户登录将如下所示:

class TimeController {

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

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

有关更多信息,请参阅使用 Grails 简化 Spring 安全性

于 2012-12-02T15:23:11.550 回答