2017-05-17 13 views
0

ユーザーがログインすることなくアクセスできるページを作成したいとします。ブログ投稿。私はマイクロサービスアプリケーション(角度2のJhipster 4)をセットアップしました。jhipster 4ログインなしのアクセスエンティティ

これはゲートウェイのファイル.yo-rc.jsonです。 /gateway/src/main/webapp/app/entities/blog/blog.route.ts

{ 
    "generator-jhipster": { 
    "promptValues": { 
     "packageName": "com.jhipster.blog", 
     "nativeLanguage": "en" 
    }, 
    "jhipsterVersion": "4.4.1", 
    "baseName": "gateway", 
    "packageName": "com.jhipster.blog", 
    "packageFolder": "com/jhipster/blog", 
    "serverPort": "8080", 
    "authenticationType": "jwt", 
    "hibernateCache": "hazelcast", 
    "clusteredHttpSession": false, 
    "websocket": false, 
    "databaseType": "sql", 
    "devDatabaseType": "h2Disk", 
    "prodDatabaseType": "mysql", 
    "searchEngine": false, 
    "messageBroker": false, 
    "serviceDiscoveryType": "eureka", 
    "buildTool": "maven", 
    "enableSocialSignIn": false, 
    "jwtSecretKey": "c6c434f1cd39a1866adec9aaab7e9fc42d736621", 
    "clientFramework": "angular2", 
    "useSass": true, 
    "clientPackageManager": "yarn", 
    "applicationType": "gateway", 
    "testFrameworks": [ 
     "gatling", 
     "cucumber", 
     "protractor" 
    ], 
    "jhiPrefix": "jhi", 
    "enableTranslation": true, 
    "nativeLanguage": "en", 
    "languages": [ 
     "en", 
     "sv" 
    ] 
    } 
} 

私は当局

export const blogRoute: Routes = [ 
    { 
     path: 'blog', 
     component: BlogComponent, 
     data: { 
      authorities: [], <--- REMOVED ROLE 
      pageTitle: 'gatewayApp.blog.home.title' 
     }, 
     canActivate: [UserRouteAccessService] 
    }, { 
     path: 'blog/:id', 
     component: BlogDetailComponent, 
     data: { 
      authorities: [], <--- REMOVED ROLE 
      pageTitle: 'gatewayApp.blog.home.title' 
     }, 
     canActivate: [UserRouteAccessService] 
    } 
]; 

における役割を削除し、/gateway/src/main/java/se/jh/blog/config/SecurityConfiguration.java

.authorizeRequests() 
.antMatchers("/api/blogs").permitAll() <-- Added paths 
.antMatchers("/api/blogs/**").permitAll() <-- Added paths 
.antMatchers("/api/register").permitAll() 
.antMatchers("/api/activate").permitAll() 
... 

しかし、それでもまだ、私がアクセスlocalhost:8080/#/blog/1しようとすると、拒否された401とのアクセスを得ることに次を追加しました。私は間違って何をしていますか?

答えて

0

401エラーを受信すると、APIエンドポイントがまだ保護されていることを意味します。ゲートウェイのSecurityConfigurationは、ゲートウェイにのみ適用されます。ゲートウェイはお客様のマイクロサービスへのリクエストを単に代理します。

マイクロサービスにもMicroserviceSecurityConfiguration.javaがあります。このファイルを編集し、permitAll()をブログAPIに設定する必要があります。

+0

「ブログ」取得しようとしています/main/java/se/jh/blog/config/MicroserviceSecurityConfiguration.java .authorizeRequests() .antMatchers( "/ api/blogs")。permitAll() .antMatchers( "/ api/blogs/**")。 .AntAll() .antMatchers( "/ api/**")。authenticated()でも、同じエラーが表示されます。私は何が間違っているのか分からない – Martin

0

ブログ=ブログ

一方の部分は、あなたが誰もがアクセスできるようにしているということである「ブログ」 - !しかし、あなたは私が/ブログ/ srcの中で次のように追加した

関連する問題