二、使用Shiro注解

    上文说到使用shiro可以完成用户的认证授权,接下来我们要尝试使用shiro注解给方法上加角色。

    说明:我们通常所说的某个用户具有某个角色才具有该角色所对应的权限,也即是说我们把权限加在角色上,给角色分配人选。

一、控制器部分代码示例

           @RequiresRoles("tan")

           public String list(){

               System.out.println("List");

              return "success";

        }

我们给该方法上放了一个角色tan,只有拥有该角色的用户才可以访问该方法。


二、页面中使用

     ①导入shiro标签库

     <%@ taglibprefix="shiro" uri="http://shiro.apache.org/tags"%>

     ②使用shiro注解

        <shiro:hasRolename="tan">

         <br><br>

         <ahref="list">[list]</a>

     </shiro:hasRole>


三、当然struts.xml文件中莫忘记配映射

          <actionname="list"class="loginAction"method="list">

              <result>/list.jsp</result>

          </action>


三、在MyRealm中模拟给用户admin和user加上tan这个角色

        

//模拟设置权限部分:要分别来判断

            if("admin".equals(username)){

                  //如果用户名为:admin,则为其增加2个角色adminuser

                  user.getRoles().add("admin");

                  user.getRoles().add("user");

                 user.getRoles().add("tan");//tan角色

            }elseif("user".equals(username)){

                  //如果用户名为:user,则为其增加user角色

                  user.getRoles().add("user");

                 user.getRoles().add("tan");//tan角色

            }


四、有图有真相瞄一眼哈O(∩_∩)O~


二、使用Shiro注解_第1张图片


点击list 控制台打印 【List】


好了,自己测试下看看,欢迎大家拍砖。。。


你可能感兴趣的:(shiro)