一、shrio的默认过滤器有11个
anon(AnonymousFilter.class),
authc(FormAuthenticationFilter.class),
authcBasic(BasicHttpAuthenticationFilter.class),
logout(LogoutFilter.class),
noSessionCreation(NoSessionCreationFilter.class),
perms(PermissionsAuthorizationFilter.class),
port(PortFilter.class),
rest(HttpMethodPermissionFilter.class),
roles(RolesAuthorizationFilter.class),
ssl(SslFilter.class),
user(UserFilter.class);
二、我们在自定义Realm的时候重写的两个方法doGetAuthorizationInfo doGetAuthenticationInfo分别用于授权和认证,当需要认证的时候,自然是authc过滤器调用Realm的doGetAuthenticationInfo方法进行处理;当需要授权的时候,自然是roles或者perms拦截器调用Realm的doGetAuthorizationInfo方法进行处理。当然是先要进行认证然后才能授权,所以我们通常会配置登录页给shrio,就是防止客户端不进行认证直接访问未经授权的url,并且doGetAuthorizationInfo方法在每次会话中只会执行一次,得到授权信息后后继就会使用缓存下来的数据。
版权声明:本文为weixin_42002747原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接和本声明。