2016-07-14 6 views
2

Greetings java hipsters!Jhipster:管理者以外のエンティティを非表示にする

私はちょうどjhipsterプロジェクトを生成し、いくつかのエンティティを作成しました。私はいくつかのエンティティを管理者だけに限定して非表示にしたいと思っています。これをどのように達成するのですか?

ありがとうございます!

答えて

6

まずJHipsterによって生成されたプロジェクトのソースコードを見て、その後Spring Security docをお読みください。次に

UserResource.java

  • SecurityConfiguration.java
  • @Secured(AuthoritiesConstants.ADMIN):それは、このような例のフルだ、に注意を払います角度部分については、src/main/webapp/app/admin/configuration/configuration.state.js(検索for authorities: ['ROLE_ADMIN'])のような状態の定義で管理者ロールの要件を追加できます。したがって、bank-accountエンティティの場合、メインステートはsrc/main/webapp/app/entities/bank-account/bank-account.state.jsに定義されます。

    これはJHipster 3.xの

+0

もう1つ:メニューからエンティティを非表示にするには、navbar.htmlを参照してください。非管理者から非表示になっている項目は、既にメニュー項目の一部に実装されています。メニュー要素に has-authority = "ROLE_ADMIN" を追加するだけです。 – Daddy32

0

のために私はもう少し新鮮なバージョン(JHipster 4.7.0)上(「フォルダ」)私は新しいエンティティをブロックする方法について説明している:エンドポイントへのアクセスをブロックする

のsrc /メイン/ javaの/パッケージパス/設定/ SecurityConfiguration.java

.antMatchers("/api/profile-info").permitAll() 
.antMatchers("/api/folders").hasAuthority(AuthoritiesConstants.ADMIN) //new line 
.antMatchers("/api/**").authenticated() 

変更のsrc /メイン/ webappの/アプリ/エンティティ/フォルダ/ folder.route私は、ファイルに新しい行を追加しました。 ts

data: { 
    authorities: ['ROLE_USER'], // old 
    authorities: ['ROLE_ADMIN'],// new 
    pageTitle: 'jmediaApp.folder.home.title' 
}, 

、あなたが/src/main/webapp/app/layouts/navbar/navbar.component.html*jhiHasAnyAuthority="'ROLE_ADMIN'"<li>中のタグを追加する必要があるナビゲーションバーから項目を非表示にするには:

<li *jhiHasAnyAuthority="'ROLE_ADMIN'"> 
関連する問題