首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

如何在Grails中访问登录表单后访问Acegi存储的URL

在Grails中访问登录表单后访问Acegi存储的URL,可以通过以下步骤实现:

  1. 首先,确保已经在Grails应用程序中集成了Acegi安全插件。可以通过在BuildConfig.groovy文件中添加依赖来实现:
代码语言:groovy
复制
plugins {
    // 其他插件...
    compile ':acegi-security:0.5.3'
}
  1. 创建一个登录表单页面,可以使用Grails的视图技术(如GSP)来实现。在登录表单中,需要包含用户名和密码的输入字段,并将表单的提交动作指向登录处理的URL。
  2. 在Grails应用程序中配置Acegi安全插件。可以在Config.groovy文件中进行配置,指定登录表单的URL、登录成功后的跳转URL等。以下是一个示例配置:
代码语言:groovy
复制
grails.plugins.springsecurity.successHandler.defaultTargetUrl = '/home'
grails.plugins.springsecurity.failureHandler.defaultFailureUrl = '/login/authfail'
grails.plugins.springsecurity.logout.postOnly = false
grails.plugins.springsecurity.logout.afterLogoutUrl = '/login'
  1. 创建一个控制器来处理登录请求和跳转。在控制器中,可以使用Acegi提供的API来验证用户的凭据,并根据验证结果进行相应的处理。以下是一个示例控制器的代码:
代码语言:groovy
复制
import grails.plugins.springsecurity.SecurityContextHolder as SCH

class LoginController {
    def springSecurityService

    def index() {
        // 渲染登录表单页面
        render(view: 'loginForm')
    }

    def auth() {
        // 获取用户名和密码
        def username = params.username
        def password = params.password

        // 使用Acegi提供的API验证用户凭据
        def authResult = springSecurityService.authenticate(username, password)

        if (authResult.success) {
            // 登录成功,将用户信息存储到Acegi的上下文中
            SCH.context.authentication = authResult

            // 重定向到登录成功后的页面
            redirect(uri: '/home')
        } else {
            // 登录失败,重定向到登录失败页面
            redirect(uri: '/login/authfail')
        }
    }

    def authfail() {
        // 渲染登录失败页面
        render(view: 'loginFail')
    }

    def home() {
        // 渲染登录成功后的页面
        render(view: 'home')
    }
}

在上述示例中,springSecurityService.authenticate(username, password)用于验证用户凭据,SCH.context.authentication用于存储用户信息到Acegi的上下文中。

请注意,上述示例仅提供了一个基本的实现思路,实际应用中可能需要根据具体需求进行适当的调整和扩展。

关于Grails和Acegi的更多信息,可以参考以下链接:

页面内容是否对你有帮助?
有帮助
没帮助

相关·内容

何在 Python 测试脚本访问需要登录 GAE 服务

1、问题背景我有一个 GAE restful 服务,需要使用管理员帐户登录。而我正在用 Python 编写一个自动化脚本来测试这个服务。这个脚本只是执行一个 HTTP POST,然后检查返回响应。...对我来说困难部分是如何将测试脚本验证为管理员用户。我创建了一个管理员帐户用于测试目的。但我不确定如何在测试脚本中使用该帐户。...以下是有关如何执行此操作步骤:使用您测试管理员帐户登录 Google Cloud Console。导航到“API 和服务”>“凭据”。单击“创建凭据”>“OAuth 客户端 ID”。...在您测试脚本,使用 google-auth-oauthlib 库来验证您应用程序。...Args: url: The URL to make the request to.

11010

SpringSecurity6 | 初始SpringSecurity

登录鉴权过程通常包括以下几个步骤: 用户提交登录表单:用户在前端页面输入用户名和密码,并通过表单提交到后端服务器。...如果用户身份验证成功,即用户名和密码与存储在系统用户信息匹配成功,Spring Security 会生成一个表示用户身份 Authentication 对象。...建立用户会话:客户端接收到登录凭证,通常会将该凭证保存在 Cookie、Session 或其他方式,以便后续请求能够携带该凭证,标识用户身份。...请求鉴权:在用户登录成功,用户访问受限资源时,Spring Security 会拦截请求,并进行权限验证(授权)。根据用户角色和权限信息,决定是否允许用户访问资源。...,购物网站 买家登录系统能查询、加购物车、下订单,卖家登录可以添加商品、修改价格、发货,卖家能做操作买家是不能操作,这就是不同的人有不同权限,做不同事情。

58920
  • 【SpringSecurity系列(一)】初识 Spring Security

    1.现有资料 松哥网站上图文教程 在网站 www.javaboy.org 上,有一个 Spring Boot 模块,里边安全管理一栏,松哥大概写了十篇左右文章来介绍 Spring Security...│ 02.Spring Security 初体验.mp4 │ 03.手工配置用户名密码.mp4 │ 04.HttpSecurity 配置.mp4 │ 05.登录表单详细配置...在 Acegi Security 时代,网上流传一句话:“每当有人要使用 Acegi Security,就会有一个精灵死去。”足见 Acegi Security 配置是多么可怕。...Form-based authentication:基于表单身份验证。 Run-as authentication:用户用户临时以某一个身份登录。...Spring Security 支持基于 URL 请求授权(例如微人事)、支持方法访问授权以及对象访问授权。

    1.3K32

    Spring Security 基本介绍及基础项目搭建

    (1)用户认证指的是:验证某个用户是否为系统合法主体,也就是说用户能否访问 该系统。用户认证一般要求用户提供用户名和密码。系统通过校验用户名和密码来完成认 证过程。...通俗点说就是系统认为用户是否能登录 (2)用户授权指的是验证某个用户是否有权限执行某个操作。在一个系统,不同用户 所具有的权限是不同。...大约一年Acegi 安全正式成为了 Spring 框架子项 目。1.0.0 最终版本是出版于 2006 -在超过两年半大量生产软件项目和数以百计改 进和积极利用社区贡献。...权限管理相关概念 主体 英文单词:principal 使用系统用户或设备或从其他系统远程登录用户等等。简单说就是谁使用系 统谁就是主体。...PasswordEncoder 接口讲解   // 表示把参数按照特定解析规则进行解析 String encode(CharSequence rawPassword); // 表示验证从存储获取编码密码与编码提交原始密码是否匹配

    30921

    Spring全家桶之SpringSecurity

    但是随着更多人使用,基于容器认证就显现出了不足。 acegi 也加入了认证功能。 大约 1 年后 acegi 成为 Spring子项目。...matches() : 验证从存储获取编码密码与编码提交原始密码是否匹配。如果密码匹配,则返回 true;如果不匹配,则返回 false。第一个参数表示需要被解析密码。...编写登录页面 编写登录页面,登录页面 action 不编写对应控制器也可以。 默认情况下表单name属性必须为username和password。 <!...必须登录才能访问。 通过上面的公式可以有很多url 匹配规则和很多权限控制方法。 这些内容进行各种组合就形成了Spring Security 授权。 在所有匹配规则取所有规则交集。...Spring Security 会自动把用户信息存储到数据源,以后就可以不登录进行访问

    3.5K10

    DevOps自动化组件-RUNDECK介绍、开发、部署、使用

    提供web界面和restapi来给用户使用,Web界面主要提供给非开发人员使用,项目组测试和运维人员,而它提供丰富api使得开发可以很容易融合到DevOps平台体系。...官方提供很多非常使用插件,当然你想开发符合自己公司特色插件以及webui也是非常简单 5.安全访问控制 工作流可以授权其他用户提供自助服务运营团队。...etc:存储RunDeck使用框架配置信息,日志框架log4j,以及指定其他所有配置磁盘存储路径,如以上所示目录,都可在etc配置文件指定 3.访问RunDeck服务 默认web端口为...= yudian-PC,这会导致虽然我们用localhost可以访问到服务,但是提交表单跳转时候,都会被定向到yudian-pc:4440。...执行job,会不断地输出目标节点服务器日志信息, (5)Activity查看历史执行记录 (6)其他相关使用 如下图,还有用户权限控制,插件管理,报表导出等等功能,考虑篇幅这里就不一一列举了

    8.3K90

    Spring Security初识和表单认证(一)

    Spring Security简介 Spring Security 前身是 Acegi Security,在被收纳为Spring子项目正式更名为Spring Security。...在授权上,Spring Security不仅支持基于URL对Web请求授权,还支持方法访问授权、对象访问授权等,基本涵盖常见大部分授权场景。 2....,要求在经过HTTP基本认证才能访问对应URL资源,其默认使用用户名user, 密码则是动态生成并打印到控制台一串随机码。...翻看控制台打印信息,可以看到 输入用户名和密码,单击“登录”按钮即可成功访问页面 当然,右HTTP基本认证,用户名和密码都是可以配置,最常见就是在resources下配置文 件修改。...通常大家更愿意选择表单认证,自己实现表单登录页和验证逻辑,从而提高安全性。 3.

    94320

    让Spring Security 来保护你Spring Boot项目吧

    Security 简介 Spring Security是一个能够为基于Spring企业应用系统提供声明式安全访问控制解决方案安全框架。...配置类大概讲解 当Spring Securiy 还是Acegi Security时候,使用就需要大量xml配置,典型Acegi配置有几百行xml是很常见。...可以关闭,也可以在表单做一些改动。 .csrf().disable() 禁用CSRF防护功能。 为了安全,本人建议启用CSRF防护,在表单做改动。...也很简单在表单中加一个 在freemarker页面form表单添加 <input type="hidden" name="${_csrf.parameterName}" value="...image 要想启动Remember-me功能还需要在<em>登录</em><em>表单</em><em>中</em>改动 记住我 name="remember-me"是固定

    1.1K20

    Streama – 在Linux创建自己个人流媒体服务器

    它还需要至少2GB内存。 Streama推荐操作系统是Ubuntu,我们将介绍Ubuntu 18.04下安装。 如何在Ubuntu安装Streama媒体流媒体服务器 1....linuxidc@linuxidc:~/www.linuxidc.com$ sudo apt install openjdk-8-jre 2.创建一个要存储Streama文件文件夹,在我例子应该是...你应该看到Streama登录页面。首次登录时您应该使用: 用户名:admin 密码:admin 7.登录,您需要一些配置选项。...一些更重要: Upload Directory - 存储文件目录。您应该使用完整路径。 Base URL  - 您要用于访问StreamaURL。...它已经填充,但您可以更改它,以防您想要使用不同URL访问Stream。 Streama title -  Streama安装标题。默认设置为Stream。

    4.9K20

    【SpringSecurity】简介

    SpringSecurity简介 Spring Security 前身是Acegi Security,在被收纳为Spring 子项目正式更名为Spring Security。...在授权上,Spring Security不仅支持基于URL对Web请求授权,还支持方法访问授权、对象访问授权等,基本涵盖常见大部分授权场景。...在引入Spring Security项目之后,虽然没有进行任何相关配置或编码,但Spring Security有一个默认运行状态,要求在经过HTTP基本认证才能访问对应URL资源,其默认使用用户名为...翻看控制台打印信息,可以看到如图所示输出。 输入用户名和密码,单击“登录”按钮即可成功访问hello页面,如图所示。...通常大家更愿意选择表单认证,自己实现表单登录页和验证逻辑,从而提高安全性。

    41640

    Python模拟登录几种方法(转)

    而“访问登录才能看到页面”这一行为,恰恰需要客户端向服务器证明:“我是刚才登录那个客户端”。于是就需要cookie来标识客户端身份,以存储信息(登录状态)。...#登录才能访问网站 url = 'http://ssfw.xmu.edu.cn/cmstar/index.portal' #浏览器登录得到cookie,也就是刚才复制字符串 cookie_str...#登录才能访问网页 url = 'http://ssfw.xmu.edu.cn/cmstar/index.portal' #浏览器登录得到cookie,也就是刚才复制字符串 cookie_str...cookie访问 原理: 我们先在程序向网站发出登录请求,也就是提交包含登录信息表单(用户名、密码等)。...从响应得到cookie,今后在访问其他页面时也带上这个cookie,就能得到只有登录才能看到页面。 具体步骤: 1.找出表单提交到页面 还是要利用浏览器开发者工具。

    1.4K30

    【SpringSecurity】Spring Security 和Shiro对比

    1、概述 Spring Security 前身是 Acegi Security,在被收纳为Spring子项目正式更名为Spring Security。...或者细粒度验证某个用户对某个资源是否具有某个权限; Session Manager:会话管理,即用户登录就是一次会话,在没有退出之前,它所有信息都在会话;会话可以是普通JavaSE环境,也可以是...Web环境; Cryptography:加密,保护数据安全性,密码加密存储到数据库,而不是明文存储; Shiro架构 Shiro三个核心组件:Subject, SecurityManager 和...用户访问一个资源时候,首先判断是否是受限资源。如果是的话还要判断当前是否未登录,没有的话就跳到登录页面。...如果用户已经登录访问一个受限资源时候,程序要根据url去数据库取出该资源所对应所有可以访问角色,然后拿着当前用户所有角色一一对比,判断用户是否可以访问(这里就是和权限相关)。

    44530

    在你浏览器构建和共享开发人员环境

    如何点击一个按钮,并在一个预先配置开发环境找到自己,动动手指就可以让IDE拥有丰富编辑工具和项目资源?如何在本地开发,但在云中编译和运行项目?好,第一件事情是首要。...在Codenvy构建Dockerfile与在本地构建Dockerfile没有区别——都是相同指令,相同规则,相同输出。还有几个特定Codenvy功能,项目源注入到映像。...你项目,包括自定义环境(自定义Docker文件)和设置将被编码到一个可与其他人共享URL上。它可以只是一个URL,或是一个友好按钮,这个按钮可以由系统提供,也可以带有你标志。...调用一系列REST API方法,系统获取创建临时工作区请求,并将该项目克隆到工作区。如上所述,项目克隆了所有的元数据和自定义环境。最后,您将获得具有相同设置和环境源项目副本。...有很多方法来配置一个工厂,并且施加访问和行为限制,指定加载动作,如在创建一个临时工作区打开README文件,引入一个项目并引导用户完成编译和运行过程,提供默认运行时系统环境(这里可以有不止一个与项目相关

    4.4K90

    vscode使用COS作为图床编写markdown文档

    工作很多人使用 vscode 来编写 markdown 文件,但插入图片时很不方便,本文介绍如何在 vscode 中使用腾讯云对象存储 COS 作为图床编写文档,其中会使用 PicGo 插件。...一、配置腾讯云 COS 存储登录腾讯云控制台后访问存储桶管理页面,我们在这里创建一个存储桶。...所属地域这个选择,请求域名会随之变化,比如说选择了“广州”访问域名会变成*.cos.ap-guangzhou.myqcloud.com 如果做图床,一般选择公有读私有写。...,一般是桶名+“-”您 appid,“test-1251603849” Picgo › Pic Bed › Tcyun: Custom Url,文件访问 url,这里直接填请求域名,本例是“https...)组合键,会打开一个 finder 或者 explore 窗口让您选择一个图片,确认自动在文档中生成图片 markdown 格式 URL

    2.3K50

    【Java 进阶篇】Java登录案例详解

    登录基本概念 在Web应用程序登录是一个常见功能,用于验证用户身份并授予他们对特定资源访问权限。通常,登录过程涉及以下步骤: 用户提供其凭证(通常是用户名和密码)。...用户会话可以存储有关用户信息,以便在整个用户访问期间保持其身份状态。 2. 创建一个简单登录表单 首先,我们将创建一个简单HTML表单,用于接收用户用户名和密码。...表单action属性指定了提交表单时将请求发送到URL。在这里,我们将其设置为"login",这意味着我们将在后端处理名为"login"请求。 3....添加会话管理 为了跟踪用户登录状态,我们需要在用户登录创建会话。会话是一种在服务器端跟踪用户状态机制。在Java,你可以使用HttpSession对象来创建和管理会话。...以下是如何在登录成功创建会话示例: if ("admin".equals(username) && "admin123".equals(password)) { // 验证成功,创建会话

    66730

    python接口自动化(十四)--session关联接口(详解)

    简介   上一篇cookie绕过验证码模拟登录博客园,但这只是第一步,一般登录,还会有其它操作,发帖,评论等等,这时候如何保持会话呢?这里我以jenkins平台为例,给小伙伴们在沙场演练一下。...2、参考代码 1 # coding:utf-8 2 import requests 3 help(requests.session()) 使用session登录 1、使用session登录只需在登录基础上稍做修改...2、参考代码 # coding:utf-8 import requests # 先打开登录首页,获取部分session url = "http://localhost:8080/jenkins/j_acegi_security_check...4、执行,查看所有任务就多了一条新增了 ? 5、运行结果部分截图: ? 6、粘贴到记事本修改后缀查看: ?...参考代码 1 # coding:utf-8 2 import requests 3 # 先打开登录首页,获取部分session 4 url = "http://localhost:8080/jenkins

    1.7K41

    Python模拟登录几种方法

    而“访问登录才能看到页面”这一行为,恰恰需要客户端向服务器证明:“我是刚才登录那个客户端”。于是就需要cookie来标识客户端身份,以存储信息(登录状态)。   ...,encoding='utf8') #改变标准输出默认编码 #登录才能访问网站 url = 'http://ssfw.xmu.edu.cn/cmstar/index.portal' #浏览器登录得到...#登录才能访问网页 url = 'http://ssfw.xmu.edu.cn/cmstar/index.portal' #浏览器登录得到cookie,也就是刚才复制字符串 cookie_str...cookie访问 原理:   我们先在程序向网站发出登录请求,也就是提交包含登录信息表单(用户名、密码等)。...从响应得到cookie,今后在访问其他页面时也带上这个cookie,就能得到只有登录才能看到页面。 具体步骤: 1.找出表单提交到页面   还是要利用浏览器开发者工具。

    3.9K41

    SpringSecurity6 | 核心过滤器

    安全上下文是指存储了当前用户认证信息(身份、权限等)对象,在整个请求处理过程需要被使用。...SpringSecurity 配置,DefaultLoginPageGeneratingFilter 通常作为过滤器链其中一个过滤器存在,以便在用户访问受保护资源但未进行登录认证时,能够正确生成默认登录页面并引导用户进行登录操作...3.11RequestCacheAwareFilter RequestCacheAwareFilter缓存被登录打断请求,例如访问某个URL,会调转到登录页面,登录成功,会从当前缓存获取之前访问...请求信息恢复:当用户完成身份验证,RequestCacheAwareFilter 会根据请求缓存信息,将用户原始请求信息(请求 URL、请求参数等)恢复,从而让用户能够继续之前被中断请求处理流程...与其他安全组件协作:RequestCacheAwareFilter 通常与其他安全组件(身份验证过滤器、访问控制过滤器等)协同工作,确保在用户完成身份验证能够正确地恢复原始请求信息。

    65931

    python接口自动化(十一)--发送post【data】(详解)

    简介    前面登录博客园是传 json 参数,由于其登录机制改变没办法演示,然而在工作中有些登录不是传 json jenkins 登录,这里小编就以jenkins 登录为案例,传 data...三、实现登录 1、登录实例代码如下: 注意:此处登录URL是fiddler抓包抓到,而并非是浏览器URL地址,如果你复制是浏览器地址,就会报错了 1 # coding:utf-8 2 import...requests 3 # 先打开登录首页,获取部分session 4 url = "http://localhost:8080/jenkins/j_acegi_security_check" 5..., data=d) 16 print (r.content.decode('utf-8') 2、运行结果如下: ?...八、小结   jenkins 代码模拟登陆到这里就结束,实际工作登录接口也就是这些,记住万变不离其宗,举一反三。

    91941
    领券