首页 > 代码库 > 权限设计和实现

权限设计和实现

网站开发,就会涉及到人员登录,人员呢就会有权限。今天就理一下Springmvc的权限实现过程。

1.首先要知道@AuthPassport这个注解。这个注解能就是实现权限验证的注解。

2.在需要验证权限的Controller的方法上添加注解

@AuthPassport//权限验证

@AuthPassport(validate=false)//validate默认为true,表示需要验证,当validate 为false时表示不需要验证

@AuthPassport(authority="common")//只有有common权限的才可以调用方法

@AuthPassport(authority = Const.AUTH_LOG)//只有有Const.AUTH_LOG常量权限的才可以调用方法

以上是我的项目中常用的权限注解方式。

3.配置项目的springservlet-config.xml或者springmvc.xml中添加如下内容:

<mvc:interceptors>
        <!-- 国际化操作拦截器 如果采用基于(请求/Session/Cookie)则必需配置 -->
        <bean class="org.springframework.web.servlet.i18n.LocaleChangeInterceptor" />
        <!-- 如果不定义 mvc:mapping path 将拦截所有的URL请求 -->
        <bean class="com.tj720.mip.framework.auth.AuthInterceptor"></bean>
    </mvc:interceptors>

其中第一个bean是spring-webmvc的jar包中的

技术分享

另外一个bean就是自己写的权限实现文件

技术分享

4.在LoginController中

技术分享

5.在LoginInfoDto中要放登陆者用到的所有信息字段

技术分享

6.查出用户的所有权限,用,分割

技术分享

7.在需要的权限的方法前边加注解

技术分享

8.在jsp页面判断等级为3的显示if标签中的内容

技术分享

9.判断有edit权限的可以看到if标签下的内容

技术分享

 10.当然,在jsp页面要加标签

<%@ page language="java" contentType="text/html; charset=UTF-8"
    pageEncoding="UTF-8"%>
 <%@ taglib uri="http://java.sun.com/jstl/core_rt" prefix="c"%>
 <%@ taglib prefix="fn" uri="http://java.sun.com/jsp/jstl/functions" %> 

 

权限设计和实现