码迷,mamicode.com
首页 > 其他好文 > 详细

案例32-权限控制

时间:2018-02-15 10:30:42      阅读:294      评论:0      收藏:0      [点我收藏+]

标签:过滤   分享   和我   lte   session   generated   nbsp   一个   pre   

1 案例分析

1用户是否登录过滤分析

技术分享图片

2 代码实现

1 UserLoginPrivilegeFilter 代码

去掉提交订单和我的订单里面的用户是否登录的校验。

public class UserLoginPrivilegeFilter implements Filter{
    
    @Override
    public void doFilter(ServletRequest request, ServletResponse response, FilterChain chain)
            throws IOException, ServletException {
        
        HttpServletRequest req = (HttpServletRequest) request;
        HttpServletResponse resp = (HttpServletResponse) response;
        
        //校验用户是否登录----校验session是否存在user对象
        HttpSession session = req.getSession();

        //判断用户是否已经登录 未登录下面代码不执行
        User user = (User) session.getAttribute("user");
        if(user==null){
            //没有登录
            resp.sendRedirect(req.getContextPath()+"/login.jsp");
            return;
        }
        
        chain.doFilter(req, resp);
    }
    

    @Override
    public void init(FilterConfig filterConfig) throws ServletException {
        // TODO Auto-generated method stub
        
    }

    @Override
    public void destroy() {
        // TODO Auto-generated method stub
        
    }

}

2 配置问题

<!-- 用户登录权限配置在自动登录的后面 -->
<filter>
    <filter-name>UserLoginPrivilegeFilter</filter-name>
    <filter-class>com.itheima.web.filter.UserLoginPrivilegeFilter</filter-class>
</filter>
<filter-mapping>
    <filter-name>UserLoginPrivilegeFilter</filter-name>
    <url-pattern>/privilege/*</url-pattern>
</filter-mapping>

3 其他问题

在webcontent下面新建一个privilege文件夹,将需要登录登录才能访问的的jsp文件移动到其中。

技术分享图片

注意这个时候order_list.jsp和order_info.jsp里面的地址不能是相对地址,要写成绝对地址:

技术分享图片

 

案例32-权限控制

标签:过滤   分享   和我   lte   session   generated   nbsp   一个   pre   

原文地址:https://www.cnblogs.com/jepson6669/p/8449230.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!