Interceptor izin login yang sangat sederhana, kode spesifiknya adalah sebagai berikut:
Kode berikut adalah kode yang mewarisi OncePerquestFilter untuk mengimplementasikan pemfilteran login:
/ ** * * @author geoin * @date 2012-4-10 2:37:38 pm */ package com.test.spring.filter; impor java.io.ioException; impor java.io.printwriter; impor javax.servlet.filterchain; impor javax.servlet.servletException; impor javax.servlet.http.httpservletRequest; impor javax.servlet.http.httpservletResponse; impor org.springframework.web.filter.onCePerquestFilter; /** * Filter Login * * @Author Geoin * @Date 2012-4-10 2:37:38 PM * /Kelas Publik Sesionfilter meluas sekalipunequestFilter { / * * (non-javadoc) * @see * org.springframework.web.filter.oncePerpere #springFramework.web.filter.oncePerEper javax.servlet.http.HttpServletRequest, * javax.servlet.http.HttpServletResponse, javax.servlet.FilterChain) */ @Override protected void doFilterInternal(HttpServletRequest request, HttpServletResponse response, FilterChain filterChain) throws ServletException, IOException {// tetapi difiltered URI String [] notFilter = string baru [] {"login.html", "index.html"}; // diminta URI String uri = request.getRequesturi (); // filter if (uri.indexof ("latar belakang")! = -1) {// Apakah akan memfilter boolean dofilter = true; untuk (string s: notfilter) {if (uri.indexof (s)! = -1) {// jika uri berisi URI tanpa filter, dofilter = false; merusak; }} if (dofilter) {// Lakukan penyaringan // Dapatkan entitas login dari objek sesi obj = request.getSession (). getAttribute ("logineduser"); if (null == obj) {// Jika entitas login tidak ada di sesi, kotak pop-up meminta untuk masuk lagi // mengatur set karakter permintaan dan respons untuk mencegah permintaan yang kacau. response.setcharacterencoding ("UTF-8"); Printwriter out = response.getWriter (); String LoginPage = "...."; StringBuilder builder = new StringBuilder (); builder.append ("<script type =/" text/javascript/">"); builder.append ("peringatan ('halaman web kedaluwarsa, silakan masuk lagi!');"); builder.append ("window.top.location.href = '"); builder.append (LoginPage); builder.append ("';"); builder.append ("</script>"); out.print (builder.tostring ()); } else {// Jika entitas login ada di sesi, lanjutkan filterchain.dofilter (permintaan, respons); }} else {// Jika penyaringan tidak dilakukan, lanjutkan filterchain.dofilter (permintaan, respons); }} else {// Jika uri tidak mengandung latar belakang, lanjutkan filterchain.dofilter (permintaan, respons); }}} Setelah menulis filter, Anda perlu mengonfigurasinya di web.xml:
<nilter> <nilter-name> sessionFilter </tiler-name> <nilter-class> com.test.spring.filter.SessionFilter </tiler-class> </tiler> <nilter-Mapping> <nilter-name> SesionFilter </tiler-name> <Rerl-pattern>/*</url-Pattern> </Filter-Mapping>
Di atas adalah semua konten artikel ini. Saya berharap ini akan membantu untuk pembelajaran semua orang dan saya harap semua orang akan lebih mendukung wulin.com.