当前位置: 首页 > 知识库问答 >
问题:

会话超时后重定向到登录页面grails

訾高飞
2023-03-14

我使用的是Grails 2.3.4Spring security core 2.0 rc2Spring security ui 1.0 rc1。一切都很好,但是当会话超时的时候,我会得到以下错误“grail layout Main中的错误”,因为我已经在布局的main.gsp文件中调用了session变量。现在,我希望在每次会话超时后重定向到登录页面,并且不显示错误页面。要在会话超时后重定向,我已经在bootstrap.groovy文件中这样做了

def structureMap1 = Requestmap.findByUrl("/institution/index") ?: new Requestmap(url: "/institution/index",configAttribute: "ROLE_INSTITUTION").save(failOnError:true)

但是有这么多页,所以很难写每一页。还有其他的方法做这件事吗?请帮忙。

共有1个答案

孔俊爽
2023-03-14

如何使用SecurityFilters,您可以将其放在conf文件夹中:

class SecurityFilters {
    def filters = {
        catchRememberMeCookie(url: "/**") {
            before = {

                if (!session.user) {
                    def g = new org.codehaus.groovy.grails.plugins.web.taglib.ApplicationTagLib()
                    def confirmurl= g.createLink(controller: controllerName, action: actionName, params:params,  absolute: 'true' )
                    session.lastURL=request.getHeader('referer') ?: confirmurl

                    redirect(controller:'auth',action:'denied')
                    return false
                }
     }
}

这个部分是一个示例,不会回答你手边的问题,因为没有足够的信息来给出详细的答案,但有一个安全过滤器--这位于你所有的请求之上,如果你需要它根据特定的值重定向到另一个位置,那么如果没有会议,你可以这样做。用户做一些其他的事情,然后会对你的所有操作起作用

 类似资料:
  • 记录器文件中的日志- org.springframework.Security.Access.event.loggerlistener-安全授权失败,原因是:org.springframework.Security.Access.accessdeniedexception:访问被拒绝;通过身份验证的主体:org.springframework.security.authentication.ano

  • 我在global.asax中尝试了以下代码,但不起作用,并导致Application_Error(“响应在此上下文中不可用。”)。

  • 我现在一直在努力使用我的登录页面来让组件呈现Loggedin组件。我的前端是Reactjs,后端是NodeJS。我对nodejs、expression和react都是新手。 在loginform组件上,我使用fetch进行了一次post,它将用户名和密码传递给后端的相应endpoint。没问题。在后端,它读取我存储用户(不使用任何数据库)的jsonfile来查找匹配项,如果用户名和密码都匹配,则它

  • 这是views.py的内容: 在转到“/”时,我被重定向到“/accounts/login”,它将我带到登录页面。我输入用户名和密码后,在“验证”打印语句printd“登录”到终端。 到目前为止还不错。现在,我不再被重定向到“/”,而是再次被重定向到“/accounts/login”,并再次显示输入用户名和密码的页面。为什么?

  • 问题内容: 我正在使用ASP.NET MVC。我想在会话过期时重定向到登录页面。我该如何实现?如果我正在对控制器中的方法进行AJAX调用,那么如果在这种情况下我的会话期满,我也想重定向到登录页面。 问题答案: 您可以通过3种方式做到这一点: 为您的操作创建一个过滤器,并将其应用于OnActionExecuting中的代码编写(在执行操作之前),http://www.asp.net/mvc/tuto

  • 问题内容: 我正在做一个简单的论坛,由一系列论坛组成,每个论坛分别代表首页,主题,postitit,登录名和用户列表页面。在某些页面上,当用户未登录时会出现一个链接。 我想要实现的是在登录后触发重定向(在RequestDispatcher上使用forward()),以便浏览器返回到用户在单击登录链接之前所在的页面。为此,我看到了两种解决方案。 第一种解决方案是使用带有登录按钮的HTML 和一个不可