3

Grails フレームワークを使用して Restful サービスを構築しており、Spring Security プラグインを使用してセキュリティを提供しています。Custom Authorization ヘッダーを使用して認証する場合の最善の方法について、皆さんに確認したいと思いました。このアプローチの詳細については、ここで カスタム HTTP 認証ヘッダーを参照してください。

私の場合、クライアント ID とシークレットは Ldap に保存され、ヘッダーには SHA1 暗号化が付属しています。Spring Security を使用してこれを実装するための最良のアプローチは何でしょうか?

Grailsメーリングリストでも同じ質問をしました。

どんな洞察も役に立ちます。ありがとう。

〜アビ

4

2 に答える 2

10

独自のフィルター、認証プロバイダー、および認証トークンを実装する必要があります (データをプロバイダーに渡すため)。

見る:

于 2013-03-18T06:40:50.223 に答える
0

リスト項目

基本認証ヘッダーを使用している場合は、context-security.xml ファイルで次の構成が機能します。

< http  auto-config="true" use-expressions="true" pattern="/project/api/**">
        < intercept-url pattern="/**" access="isFullyAuthenticated()" requires-channel="${security.requires.channel}" method="POST"/>
        < custom-filter ref="basicAuthenticationFilter" position="PRE_AUTH_FILTER"/>
    < /http>    
    < beans:bean id="basicAuthenticationFilter" class="org.springframework.security.web.authentication.www.BasicAuthenticationFilter">
        < beans:property name="authenticationManager" ref="authenticationManager" />
        < beans:property name="authenticationEntryPoint" ref="authenticationEntryPoint" />      
    < /beans:bean>

私は残りのサービスに同じアプローチを使用しましたが、ユーザー名とパスワードのエンコードに使用するスキームが何であれ、「承認」ヘッダー情報をデコードするためにフィルターで使用するのと同じスキームに注意する必要があります。「Authorization」ヘッダーのエンコードにカスタム スキームを使用している場合は、「BasicAuthenticationFilter」を拡張し、「Authorization」ヘッダーの適切なデコードを提供する必要があります。

于 2016-05-31T11:26:58.007 に答える