shiro与web进行集成

      Shiro与Web集成,主要是通过配置一个ShiroFilter拦截所有URL,其中ShiroFilter类似于如Strut2/SpringMVC这种web框架的前端控制器,是所有请求入口点,负责根据配置(如ini配置文件),判断请求进入URL是否需要登录/权限等工作。

web与shiro集成

步骤

1:导入相关依赖jar包, 多出一个shiro-web jar

2:在web.xml文件中配置shiro的过滤器shiroFilter

3:配置shiro.ini配置文件

shiro的默认拦截器

过滤器简称  对应的java类

anon             org.apache.shiro.web.filter.authc.AnonymousFilter

authc            org.apache.shiro.web.filter.authc.FormAuthenticationFilter

authcBasic   org.apache.shiro.web.filter.authc.BasicHttpAuthenticationFilter

roles             org.apache.shiro.web.filter.authz.RolesAuthorizationFilter

perms           org.apache.shiro.web.filter.authz.PermissionsAuthorizationFilter

user              org.apache.shiro.web.filter.authc.UserFilter

logout           org.apache.shiro.web.filter.authc.LogoutFilter

port               org.apache.shiro.web.filter.authz.PortFilter

rest               org.apache.shiro.web.filter.authz.HttpMethodPermissionFilter

ssl                 org.apache.shiro.web.filter.authz.SslFilter

 

anon:          匿名拦截器,即不需要登录即可访问;一般用于静态资源过滤;示例“/static/**=anon”

authc:          表示需要认证(登录)才能使用;示例“/**=authc”  主要属性:usernameParam:表单提交的用户名参数名( username);  passwordParam:表单提交的密码参数名(password); rememberMeParam:表单提交的密码参数名(rememberMe);  loginUrl:登录页面地址(/login.jsp);successUrl:登录成功后的默认重定向地址; failureKeyAttribute:登录失败后错误信息存储key(shiroLoginFailure);

authcBasic:Basic HTTP身份验证拦截器,主要属性: applicationName:弹出登录框显示的信息(application);

roles:    角色授权拦截器,验证用户是否拥有资源角色;示例“/admin/**=roles[admin]”

perms:     权限授权拦截器,验证用户是否拥有资源权限;示例“/user/create=perms["user:create"]”

user:      用户拦截器,用户已经身份验证/记住我登录的都可;示例“/index=user”

logout:   退出拦截器,主要属性:redirectUrl:退出成功后重定向的地址(/);示例“/logout=logout”

port:     端口拦截器,主要属性:port(80):可以通过的端口;示例“/test= port[80]”,如果用户访问该页面是非80,将自动将请求端口改为80并重定向到该80端口,其他路径/参数等都一样

rest:     rest风格拦截器,自动根据请求方法构建权限字符串(GET=read,POST=create,PUT=update,DELETE=delete,HEAD=read,TRACE=read,OPTIONS=read, MKCOL=create)构建权限字符串;示例“/users=rest[user]”,会自动拼出“user:read,user:create,user:update,user:delete”权限字符串进行权限匹配(所有都得匹配,isPermittedAll);

ssl:         SSL拦截器,只有请求协议是https才能通过;否则自动跳转会https端口(443);其他和port拦截器一样;

注:

anon,authcBasic,auchc,user是认证过滤器,

perms,roles,ssl,rest,port是授权过滤器

 

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值