zoukankan      html  css  js  c++  java
  • javaweb开发中的权限管理的方法

    (1)最近,上课老师讲了一种web后台开发控制权限管理的方法,基于过滤器实现鉴权,解释:
    先说下过滤器:请求来的时候,先通过滤器进行拦截,过滤器中有特定的方法doFilter(),来对拦截的请求进行处理,若满足条件(包含用户有跳转到下一个页面的权限),则继续向下执行,否则重定向到错误页面,或者其他提示页面。
    通过过滤器进行权限控制有两种主要的方法,最常用分目录
    例如在webapps下:admin文件夹,user文件夹,其中,不需要鉴权的界面,直接放在根目录下即可,如图:
    这里写图片描述

    用户在访问时, 过滤器进行判断,拥有admin权限(session中写有从数据库中读出来的写有用户信息的标志 如:request.getSession().setAttribute(“adminflag”, “ok”);)

    FilterAdmin:

    package com.xupt.ttms.filter;
    
    import java.io.IOException;
    
    import javax.servlet.Filter;
    import javax.servlet.FilterChain;
    import javax.servlet.FilterConfig;
    import javax.servlet.RequestDispatcher;
    import javax.servlet.ServletException;
    import javax.servlet.ServletRequest;
    import javax.servlet.ServletResponse;
    import javax.servlet.annotation.WebFilter;
    import javax.servlet.http.HttpServletRequest;
    import javax.servlet.http.HttpServletResponse;
    /** 
     * @author wangpei 
     * @version 创建时间:2016年11月2日 下午7:26:25 
     * 类说明 
     */
    
    @WebFilter("/admin/*")
    public class FilterAdmin implements Filter {
    
    
        public FilterAdmin() {
         }
    
    
        public void destroy() {
        }
    
    
        public void doFilter(ServletRequest request, ServletResponse response, FilterChain chain) throws IOException, ServletException {
            HttpServletRequest req=(HttpServletRequest)request;
            HttpServletResponse resp=(HttpServletResponse)response;
            String s=(String)req.getSession().getAttribute("adminflag");
            if(s!=null&&s.equalsIgnoreCase("ok")){
                chain.doFilter(request, response); 
    
            }
            else{ 
                request.setAttribute("desc", "对不起,您无权访问!!!");
                RequestDispatcher rd = request.getRequestDispatcher("/error.jsp");
                rd.forward(request, response);
    
            } 
        }
    
    
        public void init(FilterConfig fConfig) throws ServletException {
        }
    
    }
    

    (2)通过开原框架shiro做
    这个我只是处于初级会用的地步,还得继续往下深看,等看通了,再写。具体配置shiro我以前写过,可以看。

    分目录存储的具体例子http://download.csdn.net/detail/wangpei555/9687729
    
  • 相关阅读:
    “数学题”——传钱
    kafka笔记——入门介绍
    SpringBoot集成Dubbo+Zookeeper
    MySql基本语法
    动态规划
    总结
    Java反射
    软件清单
    Java IO操作
    Spring Boot AOP的使用
  • 原文地址:https://www.cnblogs.com/wangxiaopei/p/8551268.html
Copyright © 2011-2022 走看看