我在Spring MVC中为用户和管理员登录Web应用程序创建了一个表单 我在Spring MVC中有以下配置文件:
<authentication-manager>
<authentication-provider>
<user-service>
<user name="user1" password="12345" authorities="ROLE_USER" />
<user name="admin1" password="12345" authorities="ROLE_USER, ROLE_ADMIN" />
</user-service>
</authentication-provider>
<!-- authentication from database -->
<authentication-provider>
<jdbc-user-service data-source-ref="myDataSource"
users-by-username-query="select username,password from [Simplehr].[dbo].[USERS] where username=?"
authorities-by-username-query="Select username, concat('ROLE_',user_role) user_role from user_roles where username=?" />
</authentication-provider>
</authentication-manager>
但是当我运行应用程序时,我看到登录失败的错误:
PreparedStatementCallback;错误的SQL语法[选择用户名,密码 来自[Simplehr]。[dbo]。[USERS]其中username =?];嵌套异常是 java.sql.SQLException:列索引3无效。
但是当我在SQLserver中运行SQL语句时,它可以工作。