`

如何在Grails Acegi插件中控制同一账号登录

阅读更多

1.Set the concurrentSessionController in Bootstrap:

class BootStrap {

   def authenticationManager
   def concurrentSessionController

   def init = { servletContext ->
      authenticationManager.sessionController = concurrentSessionController
   }

   def destroy = {}
} 
 



2. then in resources.groovy I configured the missing concurrentSessionFilter :

import org.springframework.security.concurrent.ConcurrentSessionControllerImpl
import org.springframework.security.concurrent.ConcurrentSessionFilter
import org.springframework.security.concurrent.SessionRegistryImpl
import org.springframework.security.providers.ProviderManager

beans = {

   sessionRegistry(SessionRegistryImpl)

   concurrentSessionController(ConcurrentSessionControllerImpl) {
      maximumSessions = 1
      sessionRegistry = sessionRegistry
   }

   concurrentSessionFilter(ConcurrentSessionFilter) {
      sessionRegistry = sessionRegistry
      expiredUrl = '/login/concurrentSession'
   }
} 
 



3. and took advantage of a new feature in the 0.3 version of the plugin, being
able to specify the FilterChainProxy filter list as a list of strings in
SecurityConfig.groovy:

   filterNames = ['concurrentSessionFilter',
                  'httpSessionContextIntegrationFilter',
                  'logoutFilter',
                  'authenticationProcessingFilter',
                  'securityContextHolderAwareRequestFilter',
                  'rememberMeProcessingFilter',
                  'anonymousProcessingFilter',
                  'exceptionTranslationFilter',
                  'filterInvocationInterceptor'] 
 

结论及其他:

1.本文引自nabble讨论:http://old.nabble.com/dealing-with-concurrent-session-in-acegi-and-grails-td18987010.html

2.另一个nabble讨论提到acegi plugin将在0.6版本纳入此功能:http://jira.codehaus.org/browse/GRAILSPLUGINS-962

分享到:
评论

相关推荐

    grails-acegi-0.5.zip

    然而,需要注意的是,随着Spring Security的发展,Acegi已被Spring Security 3.x及更高版本所取代,虽然Grails Acegi 0.5插件仍能使用,但可能缺乏最新的安全特性与更新,因此在新项目中,推荐考虑使用Spring ...

    grails-acegi-0.1.zip

    Grails Acegi 0.1是Grails框架的一个早期版本插件,它引入了Spring Security的核心功能,使开发者能够轻松地在Grails应用中实现用户认证和授权。这个插件的主要目标是提供一个安全的环境,允许开发者在不牺牲效率的...

    grails-acegi-0.5.2.zip

    这个插件的发布旨在帮助开发者轻松地在Grails应用中实现用户认证和权限控制,确保应用的数据和操作安全。 在了解Grails Acegi 0.5.2之前,我们首先需要知道Grails。Grails是一个基于Groovy语言的开源Web应用框架,...

    grails-acegi-0.4.1.zip

    1. `AcegiGrailsPlugin.groovy`:这是Grails插件的核心文件,定义了插件的元数据、依赖关系以及如何在Grails应用中激活和配置插件。它通常包含了安装、启用和自定义插件所需的信息。 2. `application.properties`:...

    grails-acegi-0.5.1.zip

    总的来说,Grails Acegi 0.5.1插件是Grails框架中一个强大且灵活的安全解决方案,它的出现极大地简化了权限管理的实现过程,使得开发者能够更加专注于业务逻辑的开发,而无需过多关注底层的安全细节。通过理解和充分...

    grails-acegi-0.3.zip

    在使用Grails Acegi 0.3插件时,开发者可以利用其提供的注解和配置选项,实现用户登录、权限检查、角色分配等功能。例如,`@Secured`注解可以用来标记需要特定权限才能访问的方法,而`<security:intercept-url>`标签...

    grails-acegi-0.2.zip

    在Grails应用启动时,这个脚本会被执行,使得Acegi Security的相关组件能够正确地集成到Grails应用中,为应用的各个层面提供安全控制。 `application.properties`是Grails应用的配置文件,其中可以定义应用级别的...

    grails-acegi-0.2.1.zip

    通过这些文件,开发者可以了解到如何在Grails应用中集成Acegi Security,设置权限规则,创建自定义认证和授权策略,以及处理登录、注销、会话管理等常见安全问题。同时,通过查看源码和测试用例,开发者能够深入理解...

    eclipse开发grails插件

    3. **配置Grails环境**:安装插件后,需要在Eclipse中配置Grails的路径,这样Eclipse才能找到Grails命令行工具。这通常在"Eclipse Preferences" -> "Grails"中设置。 4. **创建Grails项目**:现在,你可以通过...

    TsuyoshiYamamoto_Acegi On Grails

     How to use Acegi on Grails  using Grails Domain class  Beans to support Acegi on Grails  Grails Acegi Plugin  Setting up Acegi Plugin  Secure your Ajax  Secure your Service

    grails-pjax:Grails Pjax插件云可帮助您在Grails中使用pjax

    Grails Pjax插件Pjax在Grails中。 Pjax类似于(turbolinks)[ ,在'A'标签,按钮和表单上工作。 参见_pjaxHeader grails templtate文件中的演示代码。 ## Pjax是什么? Pjax是一个jQuery插件,它使用ajax和pushState...

    Grails安装SVN客户端插件指导手册

    在IT行业中,Grails是一个...总之,通过以上步骤,你可以在Grails开发环境中成功安装Subclipse插件,从而利用SVN进行高效的版本控制。这对于任何Grails项目来说都是一个必不可少的工具,有助于实现代码管理的最佳实践。

    eclipse插件grails(groovy)

    在Grails中,你可以在控制器的行动(Actions)中使用闭包来处理请求逻辑。此外,Groovy的动态特性允许你在运行时添加或修改类的行为,这在快速迭代开发中非常有用。 Grails框架提供了丰富的插件系统,可以快速扩展...

    Grails + Spring Security 权限控制

    你可以为用户分配角色,并在控制器或视图层使用`@Secured`注解来限制对特定方法或URL的访问。例如: ```groovy class UserController { @Secured(['ROLE_ADMIN']) def index() { ... } } ``` 此外,还可以使用...

    grails 中文文档+grails-fckeditor-0.9.5.zip插件

    1. 安装与配置:在Grails项目中添加插件依赖,然后通过配置文件调整编辑器的参数,如默认样式、语言设置等。 2. 使用方法:在GSP页面中引入FCKEditor,用户可以在网页上直接编辑富文本,如HTML代码,支持图片上传、...

    grails中文入门简介

    开发者可以很方便地在Grails项目中集成这些插件来增强应用程序的能力。 Grails框架的中文入门资料较为稀缺,因而这份文档显得尤其宝贵。文档涵盖了从安装、配置、Web开发、服务层、测试、国际化、安全到插件使用等...

    Eclipse下搭建Grails项目

    - 安装完成后,确保设置`GRAILS_HOME`环境变量,并将其路径添加到系统的`PATH`变量中,确保这两个变量都在同一级别(用户级或系统级)。 - 打开命令行,输入`grails`,如果显示帮助信息,表明Grails已成功安装。 ...

    grails-4.0.4.zip

    在Grails 4.0.4中,有几个关键知识点值得我们深入了解: 1. **Groovy语言**:Grails的核心编程语言是Groovy,这是一种动态、面向对象的JVM语言,它的语法简洁且富有表现力,与Java高度兼容,但更加灵活。Groovy的...

    Grails1.1中文文档

    2. **命令行工具**:Grails提供了强大的命令行工具,可以快速生成项目结构、控制器、服务、域类等,这在文档中会有详细介绍,包括`create-app`、`generate-controller`等命令的用法。 3. **领域驱动设计(Domain-...

    Grails中文参考手册

    在 Grails 中,MVC 模式用于组织应用程序的结构。Model 负责业务逻辑和数据管理,View 负责显示用户界面,Controller 处理用户请求并协调 Model 和 View 的交互。 **GORM (Grails Object-Relational Mapping)** ...

Global site tag (gtag.js) - Google Analytics