sách gpt4 ăn đã đi

Mã triển khai của bộ lọc tùy chỉnh springmvc+shiro

In lại Tác giả: qq735679552 Thời gian cập nhật: 28-09-2022 22:32:09 32 4
mua khóa gpt4 giày nike

CFSDN nhấn mạnh vào giá trị tạo ra nguồn mở và chúng tôi cam kết xây dựng nền tảng chia sẻ tài nguyên để mọi nhân viên CNTT có thể tìm thấy thế giới tuyệt vời của bạn tại đây.

Bài viết blog CFSDN springmvc+shiro mã triển khai bộ lọc tùy chỉnh này được tác giả sưu tầm và biên soạn. Nếu bạn quan tâm đến bài viết này, hãy nhớ thích nó.

Yêu cầu thực hiện:

1. Nếu người dùng chưa đăng nhập, anh ta sẽ chuyển đến trang đăng nhập. Sau khi đăng nhập hoàn tất, anh ta sẽ chuyển đến trang truy cập ban đầu.

2. Để xử lý do người dùng xác định (nếu cần kích hoạt), hãy chuyển đến trang kích hoạt. Sau khi kích hoạt hoàn tất, nó sẽ chuyển đến trang truy cập ban đầu.

Khung được sử dụng.

Thiết bị chặn cho springmvc.

bộ lọc tùy chỉnh shiro.

hoàn thành:

1. Viết một trình chặn để lưu địa chỉ trang của lần truy cập đầu tiên trong suốt phiên, để chuẩn bị quay lại trang sau.

?
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
nhập khẩu org.slf4j.logger;
nhập khẩu org.slf4j.loggerfactory;
nhập khẩu org.springframework.web.servlet.handlerinterceptor;
nhập khẩu org.springframework.web.servlet.modelandview;
nhập khẩu javax.servlet.http.httpservletrequest;
nhập khẩu javax.servlet.http.httpservletresponse;
nhập khẩu javax.servlet.http.httpsession;
/**
  * Đối tượng chặn chặn nhảy trở lại trang trước sau khi người dùng đăng nhập: Tất cả các yêu cầu chuyển trang ngoại trừ đăng nhập và đăng ký vì người dùng có thể đăng nhập bất cứ lúc nào
  *
  * @phiên bản 1.0.0
  * @ngày 2018-10-19
  */
công cộng lớp học tiếntrướcurlenteceptor thực hiện trình xử lý đánh chặn {
  riêng tư logger logger = loggerfactory.getlogger( cái này .getclass());
  @ghi đè
  công cộng vô hiệu sau khi hoàn thành (httpservletrequest arg0, httpservletresponse arg1, đối tượng arg2, ngoại lệ arg3)
   ném ngoại lệ {
  }
  @ghi đè
  công cộng vô hiệu posthandle(httpservletrequest arg0, httpservletresponse arg1, đối tượng arg2, modelandview arg3)
   ném ngoại lệ {
  }
  @ghi đè
  công cộng Boolean prehandle(yêu cầu httpservletrequest, phản hồi httpservletresponse, đối tượng arg2) ném ngoại lệ {
  // Lọc các yêu cầu ajax
  nếu như (yêu cầu.getheader( "x-yêu cầu-với" ) != vô giá trị
   && yêu cầu.getheader( "x-yêu cầu-với" ).dấu bằng hoặc chữ hoa( "xmlhttprequest" )) {
   trở lại ĐÚNG VẬY ;
  }
  // Lấy phiên hiện tại
  httpsession phiên = yêu cầu.getsession( ĐÚNG VẬY );
  // Lấy địa chỉ trang trước
  chuỗi uri = request.getrequesturi();
  // Xóa các ký tự có độ dài địa chỉ dự án (vì địa chỉ dự án mặc định của tôi đã được cung cấp)
  chuỗi đường dẫn = uri.substring(request.getcontextpath().length());
  // lấy tham số
  chuỗi truy vấn = request.getquerystring();
  nếu như (truy vấn == vô giá trị ) {
   truy vấn = "" ;
  } khác {
   truy vấn = "?" + truy vấn;
  }
  chuỗi beforepath = đường dẫn + truy vấn;
  phiên.setattribute( "đường dẫn trước" , trước đường dẫn);
  phiên.setattribute( "phương pháp" , yêu cầu.getmethod());
  logger.debug( "beforepath :{}, phương thức:{}" , beforepath, request.getmethod());
  trở lại ĐÚNG VẬY ;
  }
}

2. Định cấu hình bộ chặn trong tệp cấu hình spring xml, chẳng hạn như application.xml.

?
1
2
3
4
5
6
7
8
9
10
11
12
13
14
   
 
   
   
     
      "/**" />
     
      "/*.ajax" />
      "/tài nguyên/**" />
      "/kích hoạt" />
      <đậu> lớp học = "com.xxx.xxx.xxx.interceptor.forwardbeforeurlinteceptor" />
   
 

Lưu ý: Đây là giao diện cho phép bạn vào trực tiếp trang kích hoạt. Đây là giao diện loại trừ việc chặn trang kích hoạt để ngăn trang liên tục quay lại. trang của riêng bạn.

3. Bộ lọc tùy chỉnh.

?
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
nhập khẩu javax.servlet.servletrequest;
nhập khẩu javax.servlet.servletresponse;
nhập khẩu javax.servlet.http.httpservletrequest;
nhập khẩu javax.servlet.http.httpservletresponse;
nhập khẩu java.io.ioexception;
/**
  * Trình chặn khóa học, tự động chuyển đến trang kích hoạt khi tư cách thành viên hết hạn hoặc không được kích hoạt
  *
  * @phiên bản 1.0.0
  * @ngày 2018-10-19
  */
công cộng lớp học thành viên lọc mở rộng com.bwjf.framework.shiro.filter.userfilter {
  @ghi đè
  được bảo vệ Boolean isaccessallowed(yêu cầu servletrequest, phản hồi servletresponse, giá trị ánh xạ đối tượng) {
  httpservletresponse httpservletresponse = (httpservletresponse) phản hồi;
  httpservletrequest httpservletrequest = (httpservletrequest) yêu cầu;
  nếu như (httpservletrequest.getrequesturi().indexof( "kích hoạt" ) > 0 ) {
   trở lại ĐÚNG VẬY ;
  }
  myshirouser myshirouser = myuserutil.getcurrentshirouser();
  nếu như (!checkemptyutil.isempty(myshirouser) && checkemptyutil.isempty(myshirouser.getactivedate())) {
   thử {
       //Trình duyệt chuyển tới trang kích hoạt
   httpservletresponse.sendredirect(httpservletrequest.getcontextpath() + "/kích hoạt" );
   } nắm lấy (ioexception e) {
   e.printstacktrace();
   }
  }
  trở lại ĐÚNG VẬY ;
  }
}

4.shiro.xml định cấu hình các bộ lọc tùy chỉnh.

Mã triển khai của bộ lọc tùy chỉnh springmvc+shiro

5. Chuyển đến trang đầu tiên sau khi xử lý kích hoạt bộ điều khiển.


Mã triển khai của bộ lọc tùy chỉnh springmvc+shiro

Tóm tắt.

Trên đây là mã triển khai bộ lọc tùy chỉnh springmvc+shiro được trình soạn thảo giới thiệu. Tôi hy vọng nó sẽ hữu ích cho bạn. Nếu bạn có bất kỳ câu hỏi nào, vui lòng để lại tin nhắn cho tôi và trình soạn thảo sẽ trả lời bạn kịp thời. Tôi cũng xin cảm ơn mọi người đã ủng hộ trang web của tôi! .

Liên kết gốc: https://blog.csdn.net/hu582205/article/details/83501402.

Cuối cùng, bài viết này về mã triển khai của bộ lọc tùy chỉnh springmvc+shiro kết thúc tại đây. Nếu bạn muốn biết thêm về mã triển khai của bộ lọc tùy chỉnh springmvc+shiro, vui lòng tìm kiếm các bài viết về CFSDN hoặc tiếp tục duyệt các bài viết liên quan, tôi hy vọng bạn sẽ ủng hộ. blog của tôi trong tương lai! .

32 4 0
qq735679552
Hồ sơ

Tôi là một lập trình viên xuất sắc, rất giỏi!

Nhận phiếu giảm giá taxi Didi miễn phí
Phiếu giảm giá taxi Didi
Chứng chỉ ICP Bắc Kinh số 000000
Hợp tác quảng cáo: 1813099741@qq.com 6ren.com
Xem sitemap của VNExpress