首页 > 代码库 > mvc 按钮权限控制
mvc 按钮权限控制
需要开发一个按钮权限的控制,思路:拦截所有按钮路径,和用户拥有的3级按钮权限对比,
所有验证都一个方法解决,只需要修改js后的参数,参数就是按钮对应的权限码
如果有什么问题请提醒,谢谢!
xml:
<mvc:interceptors> <mvc:interceptor> <mvc:mapping path="/**"/> <bean id="buttonInterceptor" class="sls.interceptor.buttonInterceptor"/> </mvc:interceptor> </mvc:interceptors>
buttonInterceptor:
import java.util.List;import java.util.logging.Logger;import javax.servlet.http.HttpServletRequest;import javax.servlet.http.HttpServletResponse;import org.springframework.web.servlet.ModelAndView;import org.springframework.web.servlet.handler.HandlerInterceptorAdapter;import sls.system.vo.UserInfoVo;/** * 按钮权限控制 拦截 * @author Administrator * */public class buttonInterceptor extends HandlerInterceptorAdapter { private static final String[] IGNORE_URI = {"/download"}; private Logger log = Logger.getLogger(this.getClass().getName()); public boolean preHandle(HttpServletRequest request, HttpServletResponse response, Object handler) throws Exception { boolean flag = false; response.reset(); String url = request.getRequestURL().toString(); String parameter = request.getParameter("parameter"); log.info(">>>: " + url); boolean ret=false; if (url.contains("button") && parameter!=null){ log.info("访问路径包含在button集合中被拦截"); UserInfoVo userInfoVo =(UserInfoVo) request.getSession().getAttribute("userInfoVo"); String authorityButtons =userInfoVo.getAuthorityButton(); if(authorityButtons!=null){ String[] authorityButton =authorityButtons.split(","); for (String string : authorityButton) { //log.info(string); if(string.equals(parameter)){ log.info("有权限"+parameter); ret= true; } } } if(!ret){ java.io.PrintWriter out = response.getWriter(); out.println(false); out.flush(); out.close(); } }else{ ret =true; } return ret; } @Override public void postHandle(HttpServletRequest request, HttpServletResponse response, Object handler, ModelAndView modelAndView) throws Exception { super.postHandle(request, response, handler, modelAndView); } }
js:
function downloadProductInfo(){ $.post("jurisdiction/button.action?parameter=downloadProductInfo",function (e){ if(e.indexOf("false")!=-1){ alert("您没有操作此按钮的权限") }else{ $("#searchForm").attr("action","basicData/downloadProductInfo.action"); $("#searchForm").submit(); } }) }
controller:
/** * 按钮权限控制公共方法 * @return */ @RequestMapping("button") @ResponseBody public String button(){ System.out.println("按钮权限控制公共方法访问成功"); return ""; }
mvc 按钮权限控制
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。