shiro框架简谈

每个系统都会提供很多功能,但并不是每个人登陆以后,可以操作的功能是完全相同的,需要对系统的功能进行访问控制。


权限管理数据模型:


共需要五张表

权限表:该系统中所有的功能,可以是菜单或者按钮等等

角色表:该系统中各个岗位,如管理员,取派员,仓库,会计等等

用户表:即该系统中所有可以登录的用户

角色权限关系表:各个岗位所对应的功能,如会计只能访问账单,仓库管理员只能访问仓库管理

用户角色权限关系表:每个用户所对应的角色,张三是会计,李四是仓库管理员等等


shiro框架是一个请打而灵活的开源安全框架,能够干净利落地处理身份认证,授权,企业会话管理和加密。

利用shiro可以完成的功能:

1.验证用户

2.对用户执行访问控制

判断用户是否拥有角色admin

判断用户是否拥有访问色权限

3.在任何环境下使用Session API

4.可以使用多个用户数据源。例如是oracle用户率,另外一个是mysql用户库

5.单点登录sso功能

6.Remember Me 服务,类似购物车的供能,shiro官方介意开启



shiro框架提供的权限控制的方式:

url拦截进行权限控制  框架提供了很多过滤器进行url拦截

方法注解进行权限控制 框架提供了在方法上使用的注解,为Action创建代理对象,进行权限控制

页面标签权限控制:框架提供一套标签,用于根据权限展示或者隐藏按钮或菜单

代码级别权限控制 框架提供API,使用编程方式进行权限控制(不建议使用)



shiro框架执行流程:


Application Code:应用程序代码,由开发人员负责开发

Suubject:当前用户

SecurityManager:安全管理器,管理多有的用户,认证,授权等

Realm:安全数据桥,类似于Dao,负责访问安全数据


在项目中使用shiro框架

1.导入shiro的jar到项目中

2.在web.xml中配置一个过滤器代理对象,在项目启动spring工厂中加载一个和当前过滤器name同名的bean对象

3.在pring配置文件中配置一个名称为shiroFilter的bean

4.修改UserAction的login登录访问,使用shiro框架提供的方式进行认证操作

5.自定义一个Realm,进行认证和授权操作

认证:系统提供的用于识别用户身份的功能  你是谁?

授权:系统中提供很多功能,需要为不同用户根据其对应的权限,授予用户操作某些功能的能力  你能做什么?

6.在spring配置文件中注册上面的realm,并注入给安全管理器

7.在自定义的realm中进行授权操作


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值