BOS物流项目笔记(11)

news/2024/7/4 8:15:06

1、学习计划

(1)在realm中进行授权

(2)使用shiro的方法注解方式权限控制

  1. 在spring文件中配置开启shiro注解支持

  2. 在Action方法上使用注解

(3)使用shiro的标签进行权限控制

  1. 在页面引入shiro的标签库

  2. 在页面中使用标签

(4)总结shiro提供的权限控制方式

  1. URL拦截权限控制

  2. 方法注解权限控制

  3. 页面标签权限控制

  4. 代码级别权限控制(了解)

(5)权限管理

  1. 初始化权限数据

  2. 添加权限功能

  3. 权限分页查询

2、在realm中进行授权

 在BOSRealm中实现授权方法:

3、使用shiro的方法注解方式权限控制

第一步:在spring配置文件中开启shiro注解支持

<!-- 开启shiro框架注解支持 -->
	<bean id="defaultAdvisorAutoProxyCreator" 
		class="org.springframework.aop.framework.autoproxy.DefaultAdvisorAutoProxyCreator">
			<!-- 必须使用cglib方式为Action对象创建代理对象 -->
		<property name="proxyTargetClass" value="true"/>
	</bean>
	
	<!-- 配置shiro框架提供的切面类,用于创建代理对象 -->
	<bean class="org.apache.shiro.spring.security.interceptor.AuthorizationAttributeSourceAdvisor"/>

第二步:在Action的方法上使用shiro注解

第三步:在struts.xml中配置全局异常捕获,当shiro框架抛出权限不足异常时,跳转到权限不足提示页面

4、使用shiro提供的页面标签方式权限控制

第一步:在jsp页面中引入shiro的标签库

<%@ taglib prefix="shiro" uri="http://shiro.apache.org/tags" %>

第二步:使用shiro的标签控制页面元素展示

5、总结shiro框架提供的权限控制方式

(1)URL拦截权限控制(基于过滤器实现)

(2)方法注解权限控制(基于代理技术实现)

(3)页面标签权限控制(标签技术实现)

(4)代码级别权限控制(基于代理技术实现)

6、权限数据管理

6.1、初始化权限数据

当项目上线后,如果正常运行,需要依赖一些基础数据支持。权限数据,就属于基础数据,因为系统的菜单是从权限表查询获得的。一般会提供sql脚本文件,导入基础数据。

6.2、添加权限数据

页面:WEB-INF/pages/admin/function_add.jsp

第一步:修改页面中父功能点对应的combobox,修改URL地址

第二步:创建FunctionAction、Service、Dao,查询所有的权限,返回json

第三步:配置struts.xml

第四步:为添加页面中保存按钮绑定事件,进行校验,如果校验通过就提交表单

第五步:在FunctionAction中创建add方法,添加权限

Service代码:

6.3、权限分页数据

第一步:修改页面中datagrid的URL地址

第二步:在Action中提供分页查询方法

 

 

 

 

 

 


http://www.niftyadmin.cn/n/1808723.html

相关文章

BLOG搬家了,新家地址http://changeself.com,改变网!

感谢大家多年的支持&#xff0c;感谢CSDN的支持&#xff0c;跟很多老人一样&#xff0c;实在是无奈&#xff0c;必须自己搞一个独立的站点来继续经营自己的博客&#xff1b; 新家地址&#xff1a;http://changeself.com&#xff0c;这个域名我5年前就买下了&#xff0c;今天终…

Python标准库11 多进程探索 (multiprocessing包)

作者&#xff1a;Vamei 出处&#xff1a;http://www.cnblogs.com/vamei 欢迎转载&#xff0c;也请保留这段声明。谢谢&#xff01; 在初步了解Python多进程之后&#xff0c;我们可以继续探索multiprocessing包中更加高级的工具。这些工具可以让我们更加便利地实现多进程。 进程…

专业程序员的7个特质

专业程序员的7个特质 成为一个专业人士是所有程序员的目标。笔者在硅谷待了将近3年&#xff0c;在这里近距离观察了Google, Facebook, Uber等公司的大拿&#xff0c;并有幸与其中的一部分一起工作。在此分享大牛程序员的行为风格以及我自己的所思所想&#xff0c;希望对大家有所…

java list 底层构建_Java基础进阶 集合框架详解

今日任务1、List接口介绍(掌握常用List特有方法)2、练习3、ArrayList介绍(必须清楚集合的特征、掌握集合中的方法)4、LinkedList介绍(必须清楚集合的特征、掌握集合中的方法)5、Vector 类介绍(了解)6、List下的子类总结(掌握)7、Set 接口介绍(掌握Set集合的特性)8、HashSet 集合…

Tahiti: Voices of Paradise 专辑中文名: 大溪地:天堂之声

专辑英文名: Tahiti: Voices of Paradise 专辑中文名: 大溪地&#xff1a;天堂之声 艺术家: Dan Gibson 资源格式: MP3 发行时间: 2008年07月01日 地区: 加拿大 简介: 发行公司&#xff1a;Solitudes 音乐风格&#xff1a;New Age, World 专辑介绍&#xff1a; Dan Gibson此次…

JavaWeb总结(五)

使用Servlet接受服务器请求信息 HTTP请求示例 HttpServletRequest对象主要用于获取由客户端发送过来的请求头、参数、文件、数据等。Servlet存在的主要目的就是处理请求。Servlet规范中对此对象进行了增强&#xff0c;使其还可以与Web应用程序交互 GET/POST提交方法 - 浏览器向…

BOS物流项目笔记(12)

1、学习计划 &#xff08;1&#xff09;角色管理 添加角色功能 角色分页查询 &#xff08;2&#xff09;用户管理 添加用户功能 用户分页查询 &#xff08;3&#xff09;修改Realm中授权方法&#xff08;查询数据库&#xff09; &#xff08;4&#xff09;使用ehcache缓存…

webstorm添加vue模板支持

http://www.jianshu.com/p/142dae4f8b51 转载于:https://www.cnblogs.com/mafeng/p/6221287.html