安装ACEGI插件以后,按照步骤一次执行了,
grails create-auth-domains User Role Requestmap
grails generate-manager
grails generate-registration
需要在登录页面扩展验证码,如下:
首先在登录页面的Form内加入如下代码:
<input type="text" name="captcha" id="captcha" size="8"/>
<img src="${createLink(controller:'captcha', action:'index')}" align="absmiddle"/>
然后修改plugin->acegi 0.4.1 ->src->groovy下的org.codehaus.groovy.grails.plugins.springsecurity.GrailsAuthenticationProcessingFilter的attemptAuthentication方法如下:
String inputValidationCode = httpServletRequest.getParameter( "captcha" );
//从Session中取出验证码
String ssnValidationCode = (String)httpServletRequest.getSession().getAttribute( "captcha" );
if( ssnValidationCode != null && !ssnValidationCode.equals( inputValidationCode.toUpperCase() ) ){
//用户输入的值与看到的不一致,抛出异常
throw new ValidationCodeException( "验证码输入错误!");
}
并且在相同的package下创建ValidationCodeException类:
package org.codehaus.groovy.grails.plugins.springsecurity
import org.springframework.security.AuthenticationException
/**
* 验证码异常
*/
public class ValidationCodeException extends AuthenticationException {
public ValidationCodeException(String s) {
super(s);
}
}
再修改projects下的contoller - LoginController的authFail方法,添加如下代码:
else if(exception instanceof ValidationCodeException) {
msg = exception.message
grails run-app,执行可看到效果。
- 大小: 7.9 KB
分享到:
相关推荐
同时,通过扩展Grails Acegi提供的服务和控制器,可以定制化安全行为,例如自定义认证策略、实现自定义权限检查逻辑。 在Grails应用中集成Acegi 0.5插件,不仅可以提高项目的安全性,还能让开发者更专注于业务逻辑...
在实际使用Grails Acegi 0.5.2时,开发者可以利用其提供的安全拦截器、过滤器和标签库来实现用户登录、权限检查、会话管理等功能。例如,通过配置`@Secured`注解,可以控制哪些方法或控制器仅允许特定角色的用户访问...
2. `plugin.xml`:这是Grails插件的元数据文件,包含了插件的名称、版本、作者等信息,同时也是Grails构建系统识别和管理插件的关键文件。 3. `grails-app`目录:包含Grails应用的核心代码,如控制器(controllers...
通过将Acegi集成到Grails中,开发者可以利用Spring Security的丰富功能,如登录验证、角色权限分配、访问限制等,来保护他们的Grails应用。 这个插件的0.4.1版本包含了一系列关键组件,这些组件在构建安全应用时起...
What’s Acegi Security How to use Acegi on Grails using Grails Domain class Beans to support Acegi ... Grails Acegi Plugin Setting up Acegi Plugin Secure your Ajax Secure your Service
Grails Acegi 0.5.1插件,作为Grails框架的一个重要扩展,专门用于实现权限管理和认证功能,为开发者提供了一种强大的工具来确保应用程序的安全性。下面我们将详细探讨该插件的核心功能、使用方法以及其包含的文件...
《Grails Acegi 0.2插件:构建安全的Web应用》 Grails Acegi 0.2是一个针对Grails框架的安全管理插件,它基于Spring Security(原名Acegi Security)的核心功能,为Grails应用提供了强大的权限控制和身份验证机制。...
3. **plugin.xml**:这是插件的XML描述文件,提供了插件的依赖信息和扩展点,帮助Grails理解插件的功能并将其与其他组件正确地组合在一起。 4. **test**目录:包含了插件的测试代码,确保插件的功能正常工作,并且...
通过这些文件,开发者可以了解到如何在Grails应用中集成Acegi Security,设置权限规则,创建自定义认证和授权策略,以及处理登录、注销、会话管理等常见安全问题。同时,通过查看源码和测试用例,开发者能够深入理解...
- `'org.codehaus.groovy.grails.plugin'`:插件 通过以上对 Grails 学习中遇到的问题的分析,你应该对 Grails 开发有了更深入的理解。持续学习和实践,将有助于你熟练掌握 Grails 框架,并能高效地解决实际开发中...
Rest Client Builder Grails插件 注意 该插件的代码已移至的 。... def resp = rest.get("http://grails.org/api/v1.0/plugin/acegi/") 响应是一个Spring 。 有一些获取JSON的便捷方法: resp.json instanceof