0

我会问一个关于春季安全的问题!

是否可以使用我自己的表配置身份验证提供这是我的示例

故事“功利者”

CREATE TABLE utilisateur
(
  id_user serial NOT NULL,
  authority character varying(50) NOT NULL,
  username character varying(50) NOT NULL,
  "password" character varying(50) NOT NULL,
  CONSTRAINT cl_primaire_utilisateur PRIMARY KEY (id_user)
)

我该怎么做才能让弹簧连接到我自己的桌子上

<authentication-manager>
        <authentication-provider user-service-ref='userDetailsService' />
    </authentication-manager>
4

1 回答 1

1

您可以使用基于 JDBC 的用户详细信息服务来实现此目的。您可以将其配置为查询任意表的用户和权限。

这是我过去使用它的一个项目中相关安全上下文部分的示例:

<!-- Configure Authentication mechanism -->
<authentication-manager alias="authenticationManager">
    <!-- DAO Based Security -->
    <authentication-provider>
        <password-encoder hash="md5" />
        <jdbc-user-service data-source-ref="dataSource"
            users-by-username-query="SELECT U.username AS username, U.password as password, 'true' as enabled FROM user U where U.username=?"
            authorities-by-username-query="SELECT U.username as username, A.name as authority FROM user U left join user_roles UA on U.id=UA.user left join role A on UA.roles = A.id WHERE U.username=?" />
    </authentication-provider>
</authentication-manager>
于 2013-05-29T13:30:05.457 回答