当前位置: 首页 > news >正文

官网招聘和招聘网站全自动引流推广软件下载

官网招聘和招聘网站,全自动引流推广软件下载,郑州网站建设公司哪家专业,网件路由器和华硕路由器哪个好这篇文章分享一下怎么通过session结合过滤器来实现控制登录访问的功能,涉及的代码非常简单,通过session保存用户登录的信息,如果没有用户登录的话,会在过滤器中处理,重定向回登录页面。 创建一个springboot项目&#…

这篇文章分享一下怎么通过session结合过滤器来实现控制登录访问的功能,涉及的代码非常简单,通过session保存用户登录的信息,如果没有用户登录的话,会在过滤器中处理,重定向回登录页面。

创建一个springboot项目,添加springbooot-starter-web和lombok的依赖。创建对应的实体类、controller、service,并创建两个简单的html页面测试过滤器的效果。

一、登录功能实现

controller

package cn.edu.sgu.www.login.controller;import cn.edu.sgu.www.login.entity.User;
import cn.edu.sgu.www.login.service.UserService;
import cn.edu.sgu.www.login.util.UserUtils;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RequestMethod;
import org.springframework.web.bind.annotation.RestController;import java.io.IOException;/*** @author heyunlin* @version 1.0*/
@RestController
@RequestMapping(path = "/user", produces = "application/json;charset=utf-8")
public class UserController {private final UserService userService;@Autowiredpublic UserController(UserService userService) {this.userService = userService;}@RequestMapping(value = "/login", method = RequestMethod.POST)public void login(User user) throws IOException {userService.login(user);UserUtils.getResponse().sendRedirect("/index.html");}}

service

UserService

package cn.edu.sgu.www.login.service;import cn.edu.sgu.www.login.entity.User;/*** @author heyunlin* @version 1.0*/
public interface UserService {/*** 登录认证* @param user 用户输入的信息*/void login(User user);
}

UserServiceImpl

package cn.edu.sgu.www.login.service.impl;import cn.edu.sgu.www.login.entity.User;
import cn.edu.sgu.www.login.service.UserService;
import cn.edu.sgu.www.login.util.UserUtils;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;/*** @author heyunlin* @version 1.0*/
@Service
public class UserServiceImpl implements UserService {private final UserUtils userUtils;@Autowiredpublic UserServiceImpl(UserUtils userUtils) {this.userUtils = userUtils;}@Overridepublic void login(User user) {String username = user.getUsername();String password = user.getPassword();if (username == null || "".equals(username)) {throw new RuntimeException("用户名不能为空~");} else if (password == null || "".equals(password)) {throw new RuntimeException("密码不能为空~");} else {if (username.equals("admin") && password.equals("12345")) {userUtils.getSession().setAttribute("user", user);} else {throw new RuntimeException("用户名或密码错误!");}}}}

二、过滤器实现资源访问控制

LoginFilter

package cn.edu.sgu.www.login.filter;import javax.servlet.*;
import javax.servlet.annotation.WebFilter;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import javax.servlet.http.HttpSession;
import java.io.IOException;/*** 登录过滤器* @author heyunlin* @version 1.0*/
@WebFilter(filterName = "loginFilter", urlPatterns = {"/", "/html/*", "/index.html"})
public class LoginFilter implements Filter {@Overridepublic void doFilter(ServletRequest req, ServletResponse resp, FilterChain filterChain) throws IOException, ServletException {HttpServletRequest request = (HttpServletRequest) req;HttpSession session = request.getSession();// 获取登录信息Object obj = session.getAttribute("user");if (obj == null) { // 未登录,重定向到登录页/** 登录页面的地址*/String loginPage = "/login.html";// 获取响应对象HttpServletResponse response = (HttpServletResponse) resp;response.sendRedirect(loginPage);} else { // 当前有用户登录,放行filterChain.doFilter(req, resp);}}}

在任意配置类上使用@ServletComponentScan("cn.edu.sgu.www.login.filter")开启servlet的组件扫描~

package cn.edu.sgu.www.login;import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.SpringBootApplication;
import org.springframework.boot.web.servlet.ServletComponentScan;@ServletComponentScan("cn.edu.sgu.www.login.filter")
@SpringBootApplication
public class FilterLoginApplication {public static void main(String[] args) {SpringApplication.run(FilterLoginApplication.class, args);}}

文章设计的代码已上传到git仓库,可按需获取~

使用过滤器实现一个最简单的登录认证功能icon-default.png?t=N7T8https://gitee.com/he-yunlin/filter-login.git

http://www.mmbaike.com/news/367.html

相关文章:

  • 上海市建筑工程有限公司汕头网站建设方案优化
  • 装修公司做自己网站高清视频线和音频线的接口类型
  • 网站网上商城建设方案没有限制的国外搜索引擎
  • 学做网站都要学什么专业百度网页
  • 网站流量怎么做乡1万酒店seo是什么意思
  • 深圳做分销网站广告服务平台
  • 做商城网站需要准备那些网站搜索优化公司
  • 临沂网站建设中企动力建立企业网站步骤
  • 网站建设中是什么意思樱桃电视剧西瓜视频在线观看
  • 最新网站建设软件有哪些互动营销案例都有哪些
  • 成都网站的优化网站快速收录的方法
  • 捡个杀手做老婆在哪个网站发布的谷歌play商店官网
  • 网站制作技巧017南宁网络推广有几家
  • asp网站如何运行东莞网站公司
  • 网站更多分享怎么做做网站的软件有哪些
  • 用微信小程序连接WordPress关键词优化报价
  • 公司专业设计网站cilimao磁力猫在线搜索
  • 不用虚拟机可以做网站吗展示型网站设计公司
  • wordpress口腔深圳seo排名哪家好
  • 网站制作 成功案例开封网络推广公司
  • 雅安建设机械网站百度怎么发布自己的广告
  • 宁波网络公司做网站十大场景营销案例
  • 常德经开区网站官网软文价格
  • 番禺网站开发报价网络营销推广专家
  • ppt做书模板下载网站有哪些推广赚钱的app
  • 营销网站建设哪家好济南网站建设
  • 丰台网站建设推广互联网营销平台
  • 网络推广公司企业鄞州seo整站优化服务
  • iis默认网站打不开东莞营销网站建设直播
  • 无锡网站seo顾问百度推广怎么做效果好