【Filter 不登陆无法访问】web项目中写一个过滤器实现用户不登陆,直接给链接,无法进入页面的功能
2016-07-28 15:35
1021 查看
在web项目中写一个过滤器实现用户不登陆,直接给链接,无法进入页面,而重定向到登陆界面的功能。
项目是用springMVC+spring+hibernate实现 (和这个没有多大关系)
第一步:
首先写一个登录权限过滤类--LoginFilter类实现Filter接口
View Code
项目是用springMVC+spring+hibernate实现 (和这个没有多大关系)
第一步:
首先写一个登录权限过滤类--LoginFilter类实现Filter接口
package com.agen.controller; import java.util.UUID; import javax.annotation.Resource; import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpSession; import org.hibernate.Criteria; import org.hibernate.Session; import org.hibernate.SessionFactory; import org.hibernate.criterion.Criterion; import org.hibernate.criterion.Restrictions; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.http.HttpRequest; import org.springframework.stereotype.Controller; import org.springframework.ui.Model; import org.springframework.util.Assert; import org.springframework.web.bind.annotation.RequestMapping; import org.springframework.web.bind.annotation.ResponseBody; import com.agen.entity.User; import com.agen.service.AuthorityService; import com.agen.service.RoleService; import com.agen.service.UserSevice; import com.fasterxml.jackson.annotation.JsonCreator.Mode; @Controller() @RequestMapping("login") public class LoginController { @Resource(name="userSevice") private UserSevice userService; @Resource(name="roleService") private RoleService roleService; @Resource(name="authorityService") private AuthorityService authorityService; @Autowired private SessionFactory sessionFactory; public Session getCurrentSession() { // 需要开启事物,才能得到CurrentSession getCurrentSession()是获取已有的 没有 就创建新的 return sessionFactory.getCurrentSession(); } @RequestMapping("/login1") public String login(User user, Model model,HttpServletRequest request){ if(user.getUserName()==null &&user.getPassword()==null){ model.addAttribute("error", "0"); return "../../../index"; }else{ Criteria criteria = getCurrentSession().createCriteria(User.class); criteria.add(Restrictions.eq("userName", user.getUserName())); User user2 = userService.uniqueResult(criteria); if(user2 == null) { model.addAttribute("error", "1"); return "../../../index"; } else if(!( user2.getPassword() .equals(user.getPassword()) )){ model.addAttribute("error", "2"); return "../../../index"; } Assert.notNull(user); HttpSession session = request.getSession(); session.setAttribute("user", user); return "/index/index"; } } @RequestMapping("/register") @ResponseBody public boolean register(User user){ boolean flag = false; user.setUserId(UUID.randomUUID().toString()); Criteria criteria = getCurrentSession().createCriteria(User.class); criteria.add(Restrictions.eq("userName", user.getUserName())); User user2 = userService.uniqueResult(criteria); if(user2 != null){ flag = false; }else{ userService.save(user); flag = true; } return flag; } /** * 页面二级菜单 * @return */ @RequestMapping("/welcome1") public String welcome(){ return "/index/welcome"; } @RequestMapping("/geneinfo") public String geneinfo(){ return "/geneinfo/geneinfoone"; } }
View Code
相关文章推荐
- js抛出自定义异常
- <ERROR>JpaDialect does not support savepoints - check your JPA provider's capabilities
- ORA-01033: ORACLE initialization or shutdown in progress
- springAOP之aspectJ(一)
- Menu: 只能通过隐藏和显示控制,而不能物理增减项目
- ELK知识图谱
- 企业应该如何运用商业智能
- linux基础(10)-导航菜单
- ZendStudio13 PHP调试环境快速配置
- python reduce()函数
- Spring 继承Bean配置
- NYOJzb的生日
- OAuth的机制原理讲解及开发流程
- 顺序表应用1:多余元素删除之移位算法
- 乐观锁与悲观锁
- 日夜间模式转换
- 【刷题之路】和为S的连续正数序列
- web项目中相对路径的问题
- NYOJ_448 寻找最大数
- 谷歌浏览器调试快捷键