shiro学习总结(二)

来源:互联网 发布:linux info命令 编辑:程序博客网 时间:2024/05/27 10:43

shiro学习总结(二)

  认证策略
  使用最多的认证策略是 AtLeastOneSuccessfulStrategy:在有多个realm的情况下,只要有一个 Realm 验证成功即可,将返回认证成功的realm信息;
  AllSuccessfulStrategy:所有Realm验证成功才返回,且返回所有Realm身份验证成功的认证信息,如果有一个失败就失败了;
  FirstSuccessfulStrategy:只要有一个Realm验证成功即可,只返回第一个Realm 身份验证成功的认证信息,其他的忽略;
  修改认证策略:
  在org.apache.shiro.authc.pam.ModularRealmAuthenticator bean中添加 authenticationStrategy 属性:
  

  <bean id="authenticator" class="org.apache.shiro.authc.pam.ModularRealmAuthenticator">        <property name="realms">            <list>                <ref bean="jdbcRealm"/>                <ref bean="secondRealm"/>            </list>        </property>        <property name="authenticationStrategy">            <bean class="org.apache.shiro.authc.pam.AllSuccessfulStrategy"></bean>        </property>   </bean>

  
  授权
  访问控制,即在应用中控制谁访问哪些资源;
  主体:访问应用的用户;
  资源:在应用中用户可以访问的URL;
  权限:应用中能否访问某个资源;
  角色:权限的集合;
  编程式:
  注解式:
  JSP/GSP标签:
  
1)、anon 可以被匿名访问
2)、必须认证(即登录)后才能访问的页面
3).logout 表示登出的过滤器
4).roles 有对应权限的才能访问相应资源(可以用来分开管理员与普通用户的访问权限)
Permissions:
实例级访问控制
通常使用三个部件:域、操作、被付诸实施的实例。e.g.:user:edit:manager