Ich integriere SpringMVC hier nicht, aber ich verwende die INI -Konfigurationsdatei direkt.
Shiro.ini
[Main]# Objekte und ihre Eigenschaften sind hier definiert,# wie der SecurityManager, Realms und alles# sonst nötig, um den SecurityManAgerauthc.loginurl = /login.jspauthc.successurl = /web/index.jsp#cache ManagerBuiltinCachanager = zu erstellen org.apache.shiro.cache.memoryconstrainedCacheManagerSecurityManager = org.apache.shiro.web.mgt.DefaultWebSecurityManAGERSCURITYMANAGER.CACHEMANAGERAGE = $ BAURGEINCACHAGERAGERAWURITYMANAGER.SessionManager = $ SessionManager#Session MUSS Sie Session Sie. Wenn Sie Exit erzwingen, SessionManager = org.apache.shiro.web.Session.mgt.DefaultwebSessionManager.Sessiondao = $ sessionDaoSSessiondao = org.apache.shiro.Session.mgt.Es.Memoryssessiondao# create ldap realmldaprealm = org.apache.shiro.realm.ldap.jndildaprealm# .........# Konfigurieren Sie JDBC Realm dataSourcedataSource = org.postgresql.ds.pgpoolingDataSource# .......# JDBC Realm.jdbcrealm.PermissionsLeens = Truejdbealm = Truejdbealm org.apache.shiro.realm.jdbc.jdbcrealmjdbcrealm.userrolesQuery = ...... Jdbcrealm.Permissionsquery = ...... Jdbcrealm.dataSource = $ DataSource#self RealmLocalAuthoriseRealm = com.redBudge.Shiro.LocalaRococaRealm. $ ldaprealm, $ localAuthorizingRealm
Entfernen Sie in LocalAuthorizingRealm die anderen Sitzungen des Benutzers, bevor Sie sich zur Authentifizierung anmelden:
@OverrideProtected AuthenticationInfo detgetAuthenticationInfo (AuthenticationToken AuthenticationToken) löst die Authentifizierung aus. SessionManager = (DefaultWebSessionManager) SecurityManager vor (userername.equals (string.Valueof (Session.getAtTribute (defaultSubjectContext.principals_Session_key)))) {sessionManager.getSessionDao (). Delete (Sitzung);} String pwd = null; Nachdem die Sitzung gelöscht wurde, muss zwischen dem Client und dem Server eine Interaktion bestehen, bevor Shiro Authentifizierungsurteile fällen kann. Wenn Sie mit dem Server interagieren, ist der Screenshot des Betreffs wie folgt:
Zu diesem Zeitpunkt ist die angemeldete Benutzerauthentifizierung abgelaufen und kann auf den Client reagieren.
Das obige ist das, was der Editor Ihnen vorstellt, um einzelne Anmeldungen zu realisieren (ein Benutzer kann sich nur an einem Ort gleichzeitig anmelden). Ich hoffe, es wird für alle hilfreich sein. Wenn Sie Fragen haben, hinterlassen Sie mir bitte eine Nachricht und der Editor wird allen rechtzeitig antworten. Vielen Dank für Ihre Unterstützung auf der Wulin.com -Website!