Ablaufzeit der Sitzung
Auf Tomcat beträgt die Standardzeit für die Sitzung 30 Minuten. Sie können auch die gültige Zeit der Sitzung über die Konfigurationsdatei ändern.
1) web.xml ändern
<!-Sitzung ungültig festlegen, Einheitsegment-> <Session-Config> <ssion-Timeout> 1 </Session-Timeout> </Session-Config>
2) .YML -Datei
server.session.cookie.http-nur = #, ob httponly server.session.timeout = #Session Timeout (Sekunden) aktiviert werden soll (Sekunden)
Verwenden Sie Filter, um eine Sitzung zur Authentifizierung zu erhalten (alle Tests werden nicht getestet. Verwenden Sie mit Vorsicht)
1) Erstellen Sie einen neuen Filter
import org.springframework.beans.factory.annotation.autowired; import org.springframework.boot.web.servlet.servletComponentscan; import org.springframework.context.ApplicationContext; import org.springframework.stereotype.comPonent; import org.springframework.web.context.support.webApplicationContextutils; import javax.servlet.annotation.webfilter; importieren javax.servlet.http.httpServletRequest; importieren java.io.ioException; @Component @servletComponentscan // lass @webfilter work @webilter (urlpatterns = "/*") public class myfilter implements filter {@autowired private SessionKeyConFigProperties SessionKeyConFigProperties; @Override public void init (filterconfig filterconfig) löst servletException {} @Override public void dofilter (servletRequest servletRequest, servletresponse servletresponse, filterchain filterchain) Throws ioException, servletException {httpervLeTRequeTRequeTRequeTrequest = (httpserquestReque) Throws ioxception = (httpervLeTReque) Throws ioException = (httpserquestRequeTRequeTRequeTrequest = (httpsertrequest). ServletRequest; System.out.println (SessionKeyConFigProperties.getUserTypeKey ()); // Identitätsinformationen über Sitzungsauthentifizierungstil AuthenticationUtil = New AuthenticationUtil (SessionKeyConFigProperties) erhalten; UserTypeenum userType = authenticationUtil.getuserAuthentication (httpServletRequest.getSession ()); // Zertifizierung // Authentifizierung fehlgeschlagen if (userType == null) {// ...} // Der Benutzer ist kein Administrator if (userType! } @Override public void destroy () {}} Sorgfältige Leser werden feststellen, dass ich AuthenticationUtil verwendet habe. Dies ist eine Werkzeugklasse, mit der die Funktionen des Lesens und Schreibens von Benutzeridentitätsinformationen von Benutzer -Identität getrennt wurden. 2) AuthenticationUtil -Klasse
import org.apache.shiro.web.session.httpServletSession; importieren javax.servlet.http.httpServletRequest; import Javax.servlet.http.httpSession; public class AuthenticationUtil {private sessionKeyConFigProperties configProperties; public authenticationUtil (SessionKeyConFigProperties configProperties) {this.conFigProperties = configProperties; } /** * Nehmen Sie den Identitätstyp des Benutzers aus der Sitzung * @param Session * @return Identitätstyp * /public userTypeenum getUSerAuthentication (httpSession Session) {// Benutzerinformationsdatenersatz in Session -Object -userType = session.getatTribute (configProperties.getUsertypekey ()); // Benutzertyp in Sitzung erfassen if (userType! } return null; } / ** * Schreiben Sie die Identität des Benutzers in die Sitzung * @param session * @param userType * / public void setUthentication (httpSession Session, userTypeenum userType) {session.setAttribute (configProperties.getUsertypekey (), userType); }} 3) Konfigurationsdatei SessiionKeyConfig.Properties
user_type_key = userTypeKey
4) Konfigurieren Sie die Lesendatei SessionKeyConFigProperties.class
import org.springframework.beans.factory.annotation.Value; import org.springframework.context.annotation.configuration; import org.springframework.context.annotation.propertySource; import org.springframework.steretype.comPonent; @Configuration @propertySource ("classPath: config/sessiionKeyConfig.properties") @Component public class SessionKeyConFigProperties {@Value ("$ {user_type_key}") Private String UsertypeKey; public String getUserTypeKey () {userTypeKey zurückgeben; } public void setUserTypeKey (String userTypekey) {this.usertypeKey = userTypeKey; }} 5) Auflaufklasse
public enum userTypeenum {admin, user}Hinweis: Dieser Artikel löscht einige Paketinformationen und einige Importinformationen. Bitte ändern Sie den Inhalt der Enum -Klasse und die Konfigurationsklasse selbst gemäß den Projektanforderungen und dem Datenwörterbuch.
Zusammenfassen
Das obige ist das vom Editor vorgestellte Springboot-basierte Benutzerauthentifizierungstool. Ich hoffe, es wird Ihnen hilfreich sein. Wenn Sie Fragen haben, hinterlassen Sie mir bitte eine Nachricht und der Editor wird Ihnen rechtzeitig antworten. Vielen Dank für Ihre Unterstützung auf der Wulin.com -Website!