여기서 springmvc를 통합하지는 않지만 INI 구성 파일을 직접 사용합니다.
Shiro.ini
[Main]# 객체 및 해당 속성은 여기에 정의됩니다. 예를 들어 SecurityManager, Realms 및 기타# 보안 관리자 라우스크를 구축하는 데 필요한 모든 것과 같은 모든 것이 정의됩니다. org.apache.shiro.cache.memorycangeastraindCachemanageRecurityManager = org.apache.shiro.web.mgt.defaultWebSecurityManagerSecurityManager.cacheManager = $ BuildEdEngegerCurityManager.sessionManager = $ SessionManager#세션이 있어야합니다. 종료하면 SessionManager = org.apache.shiro.web.session.mgt.defaultwebsessionmanager.sessiondao = $ sessiondaossessiondao = org.apache.shiro.session.eis.memorysessiondao# lldap readmlaprialm = org.apache.shiro.realm.ldap.jndildapRealm# .........# JDBC Realm DataSourcedatasource 구성 = org.postgresql.ds.pgpoolingdatasource# .......# jdbc real jdbcrealm.permissionslookupenabled = truejdbcrealm = ..... org.apache.shiro.realm.jdbc.jdbcrealmjdbcrealm.userrolesquery = ...... jdbcrealm.permissionsquery = ...... jdbcrealm.datasource = $ dataSource#자체 realmlocalauthorizingRealm = com.redbudtek.shiro.localauctorization realmmanager.realmanager. $ ldapRealm, $ localAuthorizingRealm
LocalAuthorizingRealm에서 인증을 위해 로그인하기 전에 사용자의 다른 세션을 제거하십시오.
@OverRideProtected AuthenticationInfo dogetAuthenticationInfo (AuthenticationToken AuthenticationToken) authenticationException {string username = (string) authenticationToken.getPrincipal (); // 핸들 세션 handswebsecurityManager SecurityManager = (defaultWebseCurityManager) SecurityUtils.getSecurityManager (); (defaultWebsessionManager) securityManager.getSessionManager (); collection <Session> sessions = sessionManager.getSessionDao (). getActivesSessions (); // 현재 로그인 한 사용자 세션 목록 (세션 세션 : 세션) {// 사용자가 로그인했을 때 저장된 SEVITIF SEVEREF SEVERED를 구체화합니다. 이전 (username.equals (string.valueof (session.getAttribute (defaultSubjectContext.principals_section_key))))))))))))))))))))))))))))))))))))))). 세션이 삭제 된 후에는 Shiro가 인증 판단을하기 전에 클라이언트와 서버 간의 상호 작용이 있어야합니다. 서버와 상호 작용할 때 주제 정보 스크린 샷은 다음과 같습니다.
현재 로그인 한 사용자 인증이 만료되어 클라이언트에 응답 할 수 있습니다.
위의 내용은 편집자가 단일 로그인을 실현하기 위해 귀하에게 소개하는 것입니다 (한 사용자는 동시에 한 곳에서만 로그인 할 수 있음). 모든 사람에게 도움이되기를 바랍니다. 궁금한 점이 있으면 메시지를 남겨 주시면 편집자가 제 시간에 모든 사람에게 답장을 드리겠습니다. Wulin.com 웹 사이트를 지원해 주셔서 대단히 감사합니다!