我有一个我一直在做的网络流项目,现在是时候给它增加一些安全性了。我有用于演示的登录屏幕,但我想添加:
@PreAuthorize(isAuthenticated());
对我在控制、服务和 dao 中的一些功能,我知道只有登录的用户才能访问这些功能。 @PreAuthorize(isAuthenticated())不起作用,我真的不想使用@PreAuthorize("hasRole('ROLE_USER')")。
有人可以告诉我如何更好地锁定我的代码
这是我的 security.xml 文件:
<?xml version="1.0" encoding="UTF-8"?>
<beans:beans
xmlns="http://www.springframework.org/schema/security"
xmlns:beans="http://www.springframework.org/schema/beans"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://www.springframework.org/schema/beans
http://www.springframework.org/schema/beans/spring-beans-3.1.xsd
http://www.springframework.org/schema/security
http://www.springframework.org/schema/security/spring-security-3.1.xsd">
<global-method-security pre-post-annotations="enabled"/>
<http use-expressions="true">
<intercept-url access="hasRole('ROLE_USER')" pattern="/visit**" />
<intercept-url pattern='/*' access='permitAll' />
<form-login default-target-url="/visit" />
<logout logout-success-url="/" />
</http>
<authentication-manager>
<authentication-provider>
<user-service>
<user name="user" password="user" authorities="ROLE_USER" />
</user-service>
</authentication-provider>
</authentication-manager>
</beans:beans>