3

安らかな Web サービスに春のセキュリティを実装しています。http-basic 認証を使用しています。現在、サービスにアクセスしようとすると、ユーザー名とパスワードを要求する Windows セキュリティ ダイアログが表示されます。必要がないように、http ヘッダーを介してユーザー名とパスワードを渡したいと思います。セキュリティダイアログのみに詳細を入力します。私のセキュリティ設定ファイルは次のようになります-

<beans:beans xmlns="http://www.springframework.org/schema/security"
    xmlns:beans="http://www.springframework.org/schema/beans" 
    xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
    xsi:schemaLocation="http://www.springframework.org/schema/beans
    http://www.springframework.org/schema/beans/spring-beans-3.0.xsd
    http://www.springframework.org/schema/security
    http://www.springframework.org/schema/security/spring-security-3.1.xsd">

    <http auto-config="true" create-session="stateless">
        <intercept-url pattern="/**" access="ROLE_USER" />
        <http-basic />
    </http>

    <authentication-manager>
      <authentication-provider>
       <!--  <user-service>
        <user name="yoman" password="123456" authorities="ROLE_USER" />
        </user-service> -->
        <jdbc-user-service data-source-ref="dataSource"

           users-by-username-query="
              select username,password, enabled 
              from users where username=?" 

           authorities-by-username-query="
              select u.username, ur.authority from users u, user_roles ur 
              where u.user_id = ur.user_id and u.username =?  " 

        />
      </authentication-provider>
    </authentication-manager>

</beans:beans> 

そして、このような認証ヘッダーを使用してユーザー名とパスワードを渡そうとしています-

HttpHeaders requestHeaders = new HttpHeaders();
requestHeaders.set("Authorization", "Basic "
        + "username:password");

しかし、サービスにアクセスするたびに、ユーザー名とパスワードを求められます。

私は何を間違っており、ここで正しい方法は何ですか。提供されたヘルプに本当に感謝します。

4

1 に答える 1