Freemarkerの-史郎ラベル

一、引入依赖(已解决版本冲突)
复制代码
<! -史朗-FreeMarkerのタグがスタート- > 
<依存> 
    <groupIdを> net.mingsoft </ groupIdを> 
    <たartifactId>史郎-FreeMarkerのタグ</たartifactId> 
    <バージョン> 1.0 </バージョン> 
    <除外> 
        <除外> 
            <のgroupId> org.apache.shiro </のgroupId> 
            <たartifactId>シロ、すべての</たartifactId> 
        </除外> 
        <除外> 
            <のgroupId> org.freemarker < /のgroupId> 
            <たartifactId> FreeMarkerの</たartifactId> 
        </除外> 
    </除外> 
</依存>
<! -史朗-FreeMarkerのタグの終わり- > 

<! - FreeMarkerのスタート- > 
<依存>
    <groupIdを> org.freemarker </ groupIdを> 
    <たartifactId> FreeMarkerの</たartifactId> 
    <バージョン> 2.3.28 </バージョン> 
</依存関係> 
<! - FreeMarkerのエンド- > 

<! -史朗開始- > 
<依存> 
    <groupIdを> org.apache.shiro </ groupIdを> 
    <たartifactId>史郎-すべての</たartifactId> 
    <バージョン> 1.4.0 </バージョン> 
</依存関係> 
<! -史朗の終わり- > 
复制代码
二、配置
のJava代码:

复制代码
パブリッククラスFreeMarkerConfigExtendがFreeMarkerConfigurer {拡張
    @Override 
    ます。public void afterPropertiesSetは()のIOException、TemplateException {スロー
        スーパーを。afterPropertiesSet();{TemplateException 
        構成this.getConfiguration CFG =(); 
        //追加タグ四郎 
        cfg.setSharedVariable( "四郎"、新新ShiroTagsは()); 
    } 
} 
コードをコピーし
たコードをコピー
- < - FreeMarkerの環境設定を!> 
<豆ID = "freemarkerConfig"クラス=「COM .demo.shiro.common.freemarker.FreeMarkerConfigExtend "> 
    <! -テンプレート位置、以下であっ構成されていないでしょう。 - > 
    <プロパティ名=" templateLoaderPath "値=" / WEB-INF /ビュー「/> 
    <プロパティ名は= "freemarkerSettings"> < ! - 一部の設定- > 
        <小道具> 
            <小道具キー= "template_update_delay"> 0 </小道具> 
            。<小道具キー= "default_encoding"> UTF-8 </小道具> 
            <キー= "ロケール">がzh_CN </小道具>小道具
            <支えるキー= "boolean_format">真、</小道具>偽
            <プロプキー= "DATETIME_FORMAT"> YYYY-MM-DD HH:MM:SS </小道具> 
            <プロパキー= "DATE_FORMAT"> YYYY-MM-DD </小道具>
            HH <キー= "TIME_FORMAT"を支える>:mm:ssの</小道具> 
            0 <キー= "をnumber_format"小道具>を########## </小道具>。
            <支えるキー= "classic_compatible">真</小道具> 
            <小道具キー= "template_exception_handler">無視</小道具> 
            <キー= "auto_importを"小道具> 
                <! -自动装载、引入引入Freemarkerの、用于Freemarkerのマクロ- > 
                /common/_meta.ftlとして_meta、
                _footerとして/common/_footer.ftl 
                <! - / _menuなどの共通/ menu.ftl - > 
            </小道具> 
        </小道具> 
    </ property>の
</豆>
コードをコピー
3、史郎を詳細タグ
1.ゲスト(ユーザー)

<@ shiro.guest>  
    あなたの現在の観光客は、<a href="javascript:void(0);">ログインする</a> 
</ @ shiro.guest> 
ユーザー2.(すでにログインログインまたは私を覚えている)

<@ shiro.user>   
    ようこそ[<@ shiro.principal />]にログインし、</a>の<aのhref="/logout.shtml">出口   
</ @ shiro.user>    
3.認証された(すでに認定を受け、自分のログインを記憶除きます)

< @ shiro.authenticated>   
    ユーザー[<@ shiro.principal />]は、によって認証された   
</ @ shiro.authenticated> 
4. notAuthenticated(および認証された逆)

<@ shiro.notAuthenticated> 
    私を忘れないでください、ログインを含む(非認定の現在のアイデンティティA)
</ @ shiro.notAuthenticated> 
機能主な目的:あなたがキー操作をしたいときに、この操作を識別するためには、認証の必要性をシステムへのアクセスは、私のログイン情報を覚えていることができ、そのような支払いシステムとして、ログインしていないが、認識。

5。

主要なラベルは、 ログイン時に主要なラベルは、値が取られます。次のコードの実装クラスレルムで:
 
...
返す新しいSimpleAuthenticationInfo(ユーザー、user.getPswd( )、 
<@ shiro.hasAnyRoles名=「管理者、  ユーザー、
ユーザ名は、それが直接使用することができた場合は、新たなSimpleAuthenticationInfoで(最初の引数、...)最初の引数が置かれています。

<! -ユーザー名を取得- > 
<。@shiro校長/>の
最初の引数は、このようなプットUserオブジェクトオブジェクトを置いている場合。ユーザー名フィールドを取りたいのであれば。

<! - -プロパティを指定します> 
<プロパティshiro.principal @ = "ユーザ名" /> 
と次のJavaのJavaコードが一致

ユーザーユーザー=(ユーザー)SecurityUtils.getSubject()のgetPrincipals();. 
文字列名= user.getUsernameを(); 
6.ラベルhasRoleも(それがこの役割を持っているかどうかを判断する)

<shiro.hasRole @名= "ADMIN">   
    ユーザー[<@ shiro.principal />]ロールADMIN有する   
</ @ shiro.hasRole>を    
7。 (それらの役割を持っているかどうかを判定する一つが)。hasAnyRolesタグ

    ユーザーは[<@ shiro.principal />]ロールまたはユーザまたは管理者会員有する   
</ shiro.hasAnyRoles @>    
。8。
 
<shiro.lacksRole @名= "管理者">   
    ユーザー[<@ shiro.principal />]ではありませんadminロールを持っている
</ @ shiro.lacksRole>    
タグhasPermission(この権限を持っているかどうかを判断)9. 

<shiro.hasPermission名@ = "ユーザーの追加/">   
    権限を追加/ユーザーを持つユーザー[<@ shiro.principal />] 
</ @ shiro.hasPermission>    
10 lacksPermissionタグ(これがあるか否かを判定する許可)

<shiro.lacksPermission @名= "ユーザ追加/">   
    ユーザー[<@ shiro.principal />]ユーザを持たない/アクセス許可を追加
</ @ shiro.lacksPermission>

  

おすすめ

転載: www.cnblogs.com/joelan0927/p/11374189.html