0

こんばんは。データベース(Hibernate)とSpring MVCで動作するアプリケーションウィッチがあります。問題は、すべてのパスワードをデータソースの app-config ファイルに保存することです。

<bean id="dataSource" class="com.mchange.v2.c3p0.ComboPooledDataSource"> <!-- Using and configuring C3P0 proxy -->
        <property name="driverClass"><value>org.h2.Driver</value></property>
        <property name="jdbcUrl"><value>jdbc:h2:/home/vadim/workspace-sts-3.1.0.RELEASE/h2/EDUCATION</value></property>
        <property name="user"><value>sa</value></property>
        <property name="password">password<value></value></property>
        <property name="initialPoolSize"><value>3</value></property> <!-- Number of Connections a pool will try to acquire upon startup -->
        <property name="minPoolSize"><value>1</value></property> <!-- Minimum connection pool size -->
        <property name="maxPoolSize"><value>20</value></property> <!-- Max connection pool size -->
        <property name="maxConnectionAge"><value>3600</value></property> <!-- Set max connection age to 1 hour, after it will release -->
        <property name="maxIdleTime"><value>600</value></property> <!-- 10 minutes connection can stay unused before be discarded -->
        <property name="checkoutTimeout"><value>200000</value></property> <!-- Each what time check for unused connections -->
        </bean>

また、セキュリティ コンテキストでのユーザーと管理者のログイン パスワード:

<security:authentication-manager>
<security:authentication-provider>
<security:password-encoder hash="sha-256" base64="true"/>
<security:user-service>
<security:user name="user" password="user" authorities="ROLE_USER"/>
<security:user name="admin" password="admin" authorities="ROLE_ADMIN"/>
</security:user-service>
</security:authentication-provider>
</security:authentication-manager>

メッセージダイジェストスプリングまたはJavaセキュリティを使用して、他のタイプの攻撃からそれらを保護するためにカスタムエンコーダーを作成する必要があります。そして、エンコーダーアルゴリズムはサービスまたはフロントエンドレイヤーの一部です??? 魔女レイヤーには、エンコーダーの実現が必要です。君たちありがとう。

4

2 に答える 2

1

プロパティを暗号化するには、 SpringおよびSpring Securityと統合されているjasyptの使用を検討してください。たとえば、暗号化されたプロパティを定義できます。

datasource.password=ENC(G6N718UuyPE5bHyWKyuLQSm02auQPUtm)

次に、EncryptablePropertyPlaceholderConfigurerBean を作成します。これにより、通常どおりにプロパティを参照できます。プロパティは復号化されます。

...
<property name="password" value="${datasource.password}"/>
...

サンプルで説明されているとおりではありませんが、良い出発点になる可能性があります。

于 2013-07-29T09:02:02.600 に答える