2016-07-03 22 views
0

私はアプリケーションを作成しています(Java + Springブートはバックエンドにセキュリティーがあります)、Angularjsは前面にあります。共有トークンでバックエンドにファイルを送信する必要があります(セキュリティ目的)。バックエンドではcsrfを有効にし、httpリクエストを作成するときには角度でのインターセプタを使用するようにしました。しかし、ng-dropzoneでは動作しません。カスタムアップロードメソッドdropzoneとangularjs

私はドロップゾーンの設定を追加しました:

$scope.logoDropzoneConfig = { 
       parallelUploads: 1, 
       maxFileSize: 30, 
       url: '/api/companies/upload/logo', 
      }; 

をしかし、私はtype=org.springframework.security.access.AccessDeniedException, message=Access is deniedを持っています。

configのurlの代わりにファイルを送信するカスタムメソッドを書くことは可能ですか?

+0

あなただけ/ API /企業/アップロード/ロゴにCSRF無効にできますDropzoneでアップロードするときに春のセキュリティを使用しますか? 'http.csrf()。ignoringAntMatchers("/api/companies/upload/logo ")' – MGR

+0

@MGR私のアプリケーションは安全でなければなりません。私はどのサービスでもcsrfを無効にしたくありません。それは解決策ではありません。 –

+0

はい私は尋ねました。 CSRFをRESTサービスで実装することについて話し合うことはできますが、提出することはできませんが、ここでは重要ではありません。あなたのAngularJSアプリでCSRFトークンを実装しましたか? (メタタグの中でクッキーに?[ヘッダ]) – MGR

答えて

1

私はこの夜、この問題を解決します。 ドロップゾーンの設定では、私はそうヘッダを渡すことができ、私は以下のように認証トークンを渡します?

$scope.logoDropzoneConfig = { 
       parallelUploads: 1, 
       maxFileSize: 30, 
       url: '/api/companies/upload/logo', 
       headers: { 
        'Authorization' :AuthServerProvider.getToken() 
       } 
      }; 
シンプル

が、それはないです:)

関連する問題