0
我已閱讀以下文章:春季安全取決於價值取代通配符?
jdbc-user-service-based-spring-security-example
Spring配置:
<authentication-manager alias="authenticationManager">
<authentication-provider>
<jdbc-user-service data-source-ref="dataSource"
users-by-username-query="
SELECT USERNAME, PASSWORD, CASE ENABLED WHEN 1 THEN 'true' ELSE 'false' END 'ENABLED'
FROM TBL_USERS
WHERE USERNAME=?;"
authorities-by-username-query="
SELECT u.USERNAME, r.ROLENAME
FROM TBL_USERS u, TBL_USER_ROLE r
WHERE u.ID = r.USERID
AND u.USERNAME=?;"
/>
</authentication-provider>
</authentication-manager>
讓研究下面的代碼片段:
users-by-username-query="
SELECT USERNAME, PASSWORD, CASE ENABLED WHEN 1 THEN 'true' ELSE 'false' END 'ENABLED'
FROM TBL_USERS
WHERE USERNAME=?;"
我的理解下面的查詢查詢所有用戶都可以登錄。
據我瞭解,這是像準備好的聲明。但是,當我們用事先準備好的聲明,我們寫somethng這樣的:
preparedStatement.setString(1, "John");
我不明白的地方春天需要USERNAME
值來代替?