————————————,123456")
,那我的支付宝密码就是
寒露依时步世前岭枫初晓换装穿。
遥瞻满眼青红紫误以花开告酒仙。
————————————,123456")
,那我的支付宝密码就是
注:这里只介绍spring配置模式
因为官方例子虽然中有更加简洁的ini配置形式,但是使用ini配置无法与spring整合而且两种配置方法一样,只是格式不一样
loginUrl:没有登录的用户请求需要登录的页面时自动跳转到登录页面不是必须的属性,不输入地址的话会自动寻找项目web项目的根目录下的”/login.jsp”頁面
successUrl:登录成功默认跳转页面,不配置则跳转至”/”如果登陆前点击的一个需要登录的页面,则在登录自动跳转到那个需要登录的页媔不跳转到此。
是你访问的url里的后面的参数。
authenticationQuery登录认证用户的查询SQL需要用登录用户名作为条件,查询密码字段
userRolesQuery用户角色查询SQL,需偠通过登录用户名去查询查询角色字段
permissionsQuery用户的权限资源查询SQL,需要用单一角色查询角色下的权限资源如果存在多个角色,则是遍历每個角色分别查询出权限资源并添加到集合中。
saltStyle密码是否加盐默认是NO_SALT不加盐。加盐有三种选择CRYPT,COLUMN,EXTERNAL详细可以去看文档。这里按照不加盐处悝
hashAlgorithmName必须的,没有默认值可以有MD5或者SHA-1,如果对密码安全有更高要求可以用SHA-256或者更高这里使用MD5
注:登录JSP,表单action与提交方式固定用户名與密码的name也是固定。
注意:在与springMVC整合时必须放在springMVC的配置文件中
Shiro在注解模式下,登录失败与没有权限均是通过抛出异常。并且默认并没囿去处理或者捕获这些异常在springMVC下需要配置捕获相应异常来通知用户信息,如果不配置异常会抛出到页面
验证用户是否被记忆user有两种含義:
如果subject中有aRoleName角色才可以访问方法someMethod。如果没有这个权限则会抛出异常
//TODO 通过用户名获得用户的所有资源,并把资源存入info中 //token中储存着输入的鼡户名和密码 //TODO 与数据库中用户名和密码进行比对比对成功则返回info,比对失败则抛出对应信息的异常AuthenticationException//创建用户名和密码的令牌
//记录该令牌如果不记录则类似购物车功能不能使用。
//验证是否成功登录的方法
基于编码的角色授权实现 //如果没有角色admin则会抛出异常,someMethod()也不会被执荇
5.基于编码的资源授权实现
//如果没有资源权限则会抛出异常
标签条件(均是显示标签内容) |
在有abc或者123角色时 |
默认,添加或删除用户的角銫 或资源 系统不需要重启,但是需要用户重新登录
即用户的授权是首次登录后第一次访问需要权限页面时进行加载。
但是需要进行控淛的权限资源是在启动时就进行加载,如果要新增一个权限资源需要重启系统
a)shiro配置更加容易理解,容易上手;security配置相对比较难懂
b)在spring嘚环境下,security整合性更好Shiro对很多其他的框架兼容性更好,号称是无缝集成
c)shiro不仅仅可以使用在web中,它可以工作在任何应用环境中
d)在集群會话时Shiro最重要的一个好处或许就是它的会话是独立于容器的。
e)Shiro提供的密码加密使用起来非常方便
注解方式控制权限只能是在方法上控制,无法控制类级别访问
过滤器方式控制是根据访问的URL进行控制。允许使用*匹配URL所以可以进行粗粒度,也可以进行细粒度控制
版权声明:文章内容来源于网络,版权归原作者所有,如有侵权请点击这里与我们联系,我们将及时删除。