こんにちは、私は春のMVC webbアプリを持っており、認証マネージャーとしてjdbc-user-serviceを使用しています。私はすべてが設定されているとログインに成功イムは../homeにリダイレクトした後、(私はする必要がありますように)、それは私の名前を書くべきではなく、それは書くログイン成功後、Spring MVCセキュリティアクセスが拒否されました
春のxmlファイル `
<http auto-config="true">
<intercept-url pattern="/home" access="hasRole('ROLE_USER, ROLE_ADMIN')"/>
<intercept-url pattern="/home/**" access="hasRole('ROLE_USER, ROLE_ADMIN')"/>
<intercept-url pattern="/" access="permitAll"/>
<intercept-url pattern="/login" access="permitAll"/>
<form-login
login-processing-url="/j_spring_security_check"
login-page="/login"
authentication-success-handler-ref="authenticationSucessHandler"
authentication-failure-url="/login/error"
username-parameter="userName"
password-parameter="userPassword"
always-use-default-target="true"/>
<logout
invalidate-session="true"
delete-cookies="JSESSIONID"/>
<csrf />
<headers>
<frame-options policy="SAMEORIGIN"/>
</headers>
</http>
<beans:bean name="authenticationSucessHandler" class="sk.icz.log.viewer.security.AuthenticationSuccessHnadler"/>
<authentication-manager>
<authentication-provider>
<jdbc-user-service
data-source-ref="dataSource"
users-by-username-query="select username, pass, enable from PUBLIC.users where username=?"
authorities-by-username-query="select username, rol from PUBLIC.user_roles where username=?"
/>
</authentication-provider>
</authentication-manager>
<jdbc:embedded-database id="dataSource" type="HSQL">
<jdbc:script location="classpath:db/schemaCreate.sql"/>
<jdbc:script location="classpath:db/addUser.sql"/>
</jdbc:embedded-database>
<beans:bean id="jdbcTemplate" class="org.springframework.jdbc.core.namedparam.NamedParameterJdbcTemplate">
<beans:constructor-arg ref="dbcpDataSource"/>
</beans:bean>
<beans:bean id="dbcpDataSource" class="org.apache.commons.dbcp2.BasicDataSource"
destroy-method="close">
<beans:property name="driverClassName" value="org.hsqldb.jdbcDriver" />
<beans:property name="url" value="jdbc:hsqldb:mem:dataSource" />
<beans:property name="username" value="sa" />
<beans:property name="password" value="" />
</beans:bean>
<beans:bean depends-on="dataSource" class="org.springframework.beans.factory.config.MethodInvokingBean">
<beans:property name="targetClass" value="org.hsqldb.util.DatabaseManagerSwing"/>
<beans:property name="targetMethod" value="main"/>
<beans:property name="arguments">
<beans:list>
<beans:value>--url</beans:value>
<beans:value>jdbc:hsqldb:mem:SKUSKA</beans:value>
<beans:value>--user</beans:value>
<beans:value>sa</beans:value>
<beans:value>--password</beans:value>
<beans:value></beans:value>
</beans:list>
</beans:property>
</beans:bean>
を「アクセスが拒否されました」
`
schema_create.sql
create table users(
username varchar(20),
pass varchar(20),
enable int
);
create table user_roles(
username varchar(20),
rol varchar(20)
);
addUser.sql
insert into users values('admin', '123', 1);
insert into user_roles values('admin', 'ROLE_USER');
私は(私はデータベースが間違って建てていることを知っている)私はちょうどこれを試してみたかった場合PFKEYSとリレーショナルデータベースを作成していない