2012-05-01 59 views
0

如何實現登錄如何爲登錄GRAILS(Spring安全性)的用戶實現會話?

這個用戶會話代碼中,我已經實現了

def user=User.findByUserId(params.userId) 
    if(user) 
    { 
    def sessionUser=user 
    def sessionId=sessionUser.id      
    constSessionUser=sessionUser 
    constSessionId=sessionId 
    .......... 
    } 

但如果我登錄使用不同的用戶名和密碼仍然params.userId返回是以前的用戶,即使我已經終止session.invalidate()

因爲iam使用Springsecurity我只是通過用戶名和密碼,但創建的會話仍然是以前的用戶或任何其他用戶當前註冊!

1)如何創建爲登錄使用Spring安全性用戶會話SINCE

def user=User.findByUserName(params.username) 

也導致同樣的問題

2)怎樣終止會話,使得SAME會話不是在過程即使不同的用戶已登錄

任何幫助將真正的讚賞PLZ ......至於IAM新的Grails ...

+0

能否請更新您的問題更可讀的格式?我的意思是改變大寫文字到正常。 –

回答

1

你這樣做不是n如果您使用的是Spring Security插件,則可以使用會話或手動跟蹤用戶。當你需要,你可以通過SpringSecurityServicesee docs)訪問用戶的詳細信息,如:

class MyController() { 

    SpringSecurityService springSecurityService 


    def me() {  
    render model: [user: springSecurityService.currentUser] 
    } 
} 
相關問題