Shiro权限认证Web

目录

 

shiro内置的过滤器讲解

Filter配置路径**

Shiro 数据安全之数据加解密


shiro内置的过滤器讲解

1. 核心过滤器类:DefaultFilter,  配置哪个路径对应哪个拦截器进行处理
2. authc:org.apache.shiro.web.filter.authc.FormAuthenticationFilter
    需要认证登录才能访问
3. user:org.apache.shiro.web.filter.authc.UserFilter
    用户拦截器,表示必须存在用户。
4. anon:org.apache.shiro.web.filter.authc.AnonymousFilter
    匿名拦截器,不需要登录即可访问的资源,匿名用户或游客,一般用于过滤静态资源。
5. roles:org.apache.shiro.web.filter.authz.RolesAuthorizationFilter
    角色授权拦截器,验证用户是或否拥有角色。
    参数可写多个,表示某些角色才能通过,多个参数时写 roles["admin,user"],当有多个参数时必须每个参数都通过才算通过
6. perms:org.apache.shiro.web.filter.authz.PermissionsAuthorizationFilter
    权限授权拦截器,验证用户是否拥有权限
    参数可写多个,表示需要某些权限才能通过,多个参数时写 perms["user, admin"],当有多个参数时必须每个参数都通过才算可以
7. authcBasic:org.apache.shiro.web.filter.authc.BasicHttpAuthenticationFilter
    httpBasic 身份验证拦截器。
8. logout:org.apache.shiro.web.filter.authc.LogoutFilter
    退出拦截器,执行后会直接跳转到`shiroFilterFactoryBean.setLoginUrl();` 设置的 url
9. port:org.apache.shiro.web.filter.authz.PortFilter
    端口拦截器, 可通过的端口。
10.ssl:org.apache.shiro.web.filter.authz.SslFilter
    ssl拦截器,只有请求协议是https才能通过。

Filter配置路径**

/admin/video     /user    /pub
路径通配符支持 ?、*、**,注意通配符匹配不 包括目录分隔符“/”
心 可以匹配所有,不加*可以进行前缀匹配,但多个冒号就需要多个 * 来匹配

URL权限采取第一次匹配优先的方式
    ? : 匹配一个字符,如 /user? , 匹配 /user3,但不匹配/user/;
    * : 匹配零个或多个字符串,如 /add* ,匹配 /addtest,但不匹配 /user/1
    ** : 匹配路径中的零个或多个路径,如 /user/** 将匹 配 /user/xxx 或 /user/xxx/yyy
例子
    /user/**=filter1
    /user/add=filter2
请求 /user/add  命中的是filter1拦截器
性能问题:通配符比字符串匹配会复杂点,所以性能也会稍弱,推荐是使用字符串匹配方式

Shiro 数据安全之数据加解密

讲解数据安全核心知识,介绍常见的处理办法,Shiro 里的 CredentialsMatcher使用**

为啥要加解密:明文数据容易泄露,比如密码明文存储,万一泄露则会造成严重后果   
什么是散列算法:一般叫hash,简单的说就是一种将任意长度的消息压缩到某一固定长度的消息摘要的函数,适合存储密码,比如MD5
什么是salt(盐)   667788——》aabbcc:如果直接通过散列函数得到加密数据,容易被对应解密网站暴力破解,一般会在应用程序里面加特殊的自动进行处理,比如用户id,例子:加密数据 = MD5(明文密码+用户id),  破解难度会更大,也可以使用多重散列,比如多次md5
Shiro里面 CredentialsMatcher,用来验证密码是否正确,
    源码:AuthenticatingRealm -> assertCredentialsMatch()
    
    一般会自定义验证规则

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值