Intercepteur d'autorisation de connexion très simple, le code spécifique est le suivant:
Le code suivant est le code qui hérite d'une foisPerRequestFilter pour implémenter le filtrage de connexion:
/ ** * * @author geoin * @date 2012-4-10 2:37:38 PM * / package com.test.spring.filter; Importer java.io.ioException; import java.io.printwriter; Importer javax.servlet.filterchain; Importer javax.servlet.servletException; Importer javax.servlet.http.httpservletRequest; import javax.servlet.http.httpservletResponse; import org.springframework.web.filter.onceperRequestFilter; / ** * Filtre de connexion * * @Author Geoin * @Date 2012-4-10 2:37:38 PM * / Classe publique SessionFilter étend une fois PEperRequestFilter {/ * * (non javadoc) * * @see * org.springframework.web.filter.oncepequestfilter # DofilterAntern (* * javax.servlet.http.httpservletRequest, * javax.servlet.http.httpservletResponse, javax.servlet.filterchain) * / @Override Protected void dofilterinternal (httpsservletRequest request, httpletreStrasponse réponse, filterchain filterchain) throw IoException {// mais filtré uri string [] notFilter = new String [] {"login.html", "index.html"}; // URI String Uri Uri = request.getRequeSturi (); // Filtre if (uri.indexof ("background")! = -1) {// Il faut filtrer Boolean DoFilter = true; for (String s: notFilter) {if (uri.indexof (s)! = -1) {// if uri contient uri non filtré, dofilter = false; casser; }} if (dofilter) {// effectuer Filtering // Get Entity de Login à partir de l'objet de session obj = request.getSession (). getAttribute ("LogineDuser"); if (null == obj) {// Si l'entité de connexion n'existe pas dans la session, une boîte contextuelle invite à se connecter à nouveau // Définissez le jeu de caractères de la demande et de la réponse pour empêcher la requête brouillée.SetcharAtterencoding ("UTF-8"); Response.SetcharAtterencoding ("UTF-8"); Printwriter out = réponse.getWriter (); String LoginPage = "...."; StringBuilder Builder = new StringBuilder (); builder.append ("<script type = /" text / javascript / ">"); builder.append ("alert ('La page Web expire, veuillez vous connecter à nouveau!');"); builder.append ("window.top.location.href = '"); builder.append (loginpage); builder.append ("';"); builder.append ("</cript>"); out.print (builder.toString ()); } else {// Si l'entité de connexion existe dans la session, continuez filterchain.dofilter (demande, réponse); }} else {// Si le filtrage n'est pas effectué, continuez filterchain.dofilter (request, réponse); }} else {// Si l'URI ne contient pas d'arrière-plan, continuez filterchain.dofilter (demande, réponse); }}} Après avoir écrit le filtre, vous devez le configurer dans web.xml:
<filter> <filter-name> SessionFilter </ Filter-Name> <Filter-Class> com.test.spring.filter.sessionFilter </ Filter-Class> </ Filter> <Lifter-Mapping> <filter-Name> SessionFilter </ Filter-Name> <Url-Pattern> / * </rl-Pattern>
Ce qui précède est tout le contenu de cet article. J'espère que cela sera utile à l'apprentissage de tous et j'espère que tout le monde soutiendra davantage Wulin.com.