user2433194
user2433194

Reputation: 86

Trouble logging out from a Grails application using Spring Security (CAS)

I have a Grails application with Spring Security implemented (CAS). However, after I hit the logout button, I am not logged out. I have the LogoutController, with following code:

class LogoutController {
    def index = {
        println "IN LOGOUT CONTROLLER TRYING TO LOGOUT"
       redirect uri: SpringSecurityUtils.securityConfig.logout.filterProcessesUrl // '/j_spring_security_logout'
    }

    def accessDenied = {

    }
}

And in my Config.groovy file, I have:

grails.plugins.springsecurity.logout.afterLogoutUrl = 'https://login.test.com/cas/logout'

The code for my GSP page is

<g:link controller='Logout'>Logout</g:link>

However, when I click the logout button I get redirected, but not fully logged out. Any ideas on what I am doing wrong?

Upvotes: 0

Views: 2300

Answers (2)

mustak
mustak

Reputation: 11

<g:link controller='Logout'>Logout</g:link>

def index = {

    logoutProcessService.process(params)
    redirect uri: SpringSecurityUtils.securityConfig.logout.filterProcessesUr
}

Upvotes: 0

Ulisses Telemaco
Ulisses Telemaco

Reputation: 116

Have you tried call session.invalidate() direct in the controller index method?

class LogoutController {
    def index = {
        println "IN LOGOUT CONTROLLER TRYING TO LOGOUT"
        session.invalidate()
        redirect uri: SpringSecurityUtils.securityConfig.logout.filterProcessesUrl
    }
}

Cheers

Upvotes: 3

Related Questions