【发布时间】:2014-04-13 22:19:28
【问题描述】:
我有一个带有 Rest-Services 和 AngularJS WebFrontend 的 Spring MVC 服务器后端。
我想保护我的 spring mvc 休息服务,但我想使用 java config.. 我不知道配置应该是什么样子。有人可以帮我弄这个吗 ? 我发现的唯一好的实现是:https://github.com/philipsorst/angular-rest-springsecurity
我使用 postgrsDB,我想在那里存储用户名和密码以及角色,https://github.com/philipsorst/angular-rest-springsecurity 示例中的会话令牌是否仅存储在缓存中而不是数据库中?
目前我有一个简单的表单登录安全性,这仅用于测试,但我没有使用 jsp 我只使用 spring mvc 休息服务和 angularjs 作为 webfrontend.. 我如何修改我的 spring 安全代码它像 https://github.com/philipsorst/angular-rest-springsecurity 的示例中那样与 oauth2 一起使用?我目前只有这两个来自 spring security 的课程..
@Configuration
@EnableWebMvcSecurity
public class SecurityConfig extends WebSecurityConfigurerAdapter{
@Override
public void configure(AuthenticationManagerBuilder auth) throws Exception {
auth
.inMemoryAuthentication()
.withUser("username").password("test").roles("User");
}
}
然后我在我的 WebInitializer 中注册 securityConfig。
public class WebInitializer extends AbstractAnnotationConfigDispatcherServletInitializer {
@Override
protected Class<?>[] getRootConfigClasses() {
return new Class<?>[]{ PersistenceContext.class,AppConfig.class,SecurityConfig.class };
} ....
但是角色和用户名/密码应该存储在数据库中。我必须使用特殊的数据库模式来实现 spring 安全性来在我的数据库中存储用户名、密码和角色吗?
我可以实现它,以便我只能在其中一个角色的其余服务上添加@Secured Annotation(或任何其他注释)吗?喜欢@Secured("UserRole")
还是更简单的基本认证?我可以通过角色管理的基本身份验证来保护我的休息服务!?如果是这样,我们可以使用基本身份验证.. 最好的问候
【问题讨论】:
标签: angularjs rest authentication spring-mvc spring-security