<#include "/include/macros.ftl"> <@header>

## Shiro标签测试

## 1.guest（游客）

    <@shiro.guest>
        您当前是游客，<a href="javascript:void(0);" class="dropdown-toggle qqlogin" >登录</a>
    </@shiro.guest>

## 2.principal标签

principal标签，取值取的是你登录的时候。在Realm实现类中的如下代码：

    ....
    return new SimpleAuthenticationInfo(user,user.getPswd(), getName());

在new SimpleAuthenticationInfo(第一个参数,....)的第一个参数放的如果是一个username，那么就可以直接用。

    <@shiro.principal/>

如果第一个参数放的是对象，要取username字段。

    <@shiro.principal property="username"/>

## 3.hasRole标签（判断是否拥有这个角色）

    <@shiro.hasRole name="admin">
    	拥有角色admin
    </@shiro.hasRole>

## 4.hasAnyRoles标签（判断是否拥有这些角色的其中一个）

    <@shiro.hasAnyRoles name="admin,user,member">
        用户[<@shiro.principal/>]拥有角色admin或user或member
    </@shiro.hasAnyRoles>

## 5.lacksRole标签（判断是否不拥有这个角色）

    <@shiro.lacksRole name="admin">
        用户[<@shiro.principal/>]不拥有admin角色
    </@shiro.lacksRole>

## 6.hasPermission标签（判断是否有拥有这个权限）

    <@shiro.hasPermission name="user:add">
    	用户[<@shiro.principal/>]拥有user:add权限
    </@shiro.hasPermission>

## 7.lacksPermission标签（判断是否没有这个权限）

    <@shiro.lacksPermission name="user:add">
    	用户[<@shiro.principal/>]不拥有user:add权限
    </@shiro.lacksPermission>

<@footer>