Tag: spring security

有人可以解释一下Spring Security BasePermission.Create吗?

我正在开发一个涉及Spring Security ACL的项目,我遇到了创建权限BasePermission.CREATE 。 有人请解释这应该如何工作或它允许某人做什么? 我的理解是每个对象都有一个acl,每个acl都有很多ace,每个ace都有一个sid和一个权限。 如果必须创建一个对象来创建它,您如何授予对象创建它的权限?

Spring Security登录返回404

我目前正在使用Spring框架中的博客。 我正在实现Spring Security以进行登录。 一切都按预期工作,直到我提交始终返回404代码的登录凭据。 这是我的web.xml cod e avispring 404 /404.html contextConfigLocation /WEB-INF/spring-database.xml springSecurityFilterChain org.springframework.web.filter.DelegatingFilterProxy springSecurityFilterChain /admin/* org.springframework.web.context.ContextLoaderListener spring org.springframework.web.servlet.DispatcherServlet 1 spring / 这是我的春季安全码: 我的login.jsp代码的一部分是 <form action="” method=”post”> Remember Me Sign In 和控制台输出是 2015年10月16日上午1:06:03 org.springframework.web.servlet.DispatcherServlet noHandlerFound警告:在名为“spring”的DispatcherServlet中找不到带有URI [/ avispring / login]的HTTP请求的映射 注意: 我使用的是spring 4.2.1和spring security 4.0.2 大多数论坛都指向上下文路径,即[appname / login]或[appname / j_spring_security_check] ,我认为我的相关 请帮忙… 更新: 当我使用log4j时,表单提交时的调试输出如下: DEBUG:org.springframework.web.servlet.DispatcherServlet – […]

Spring Security如何在跨Web应用程序请求的线程中管理SecurityContext?

在SpringSecurity中,它有一个类名SecurityContextHolder及其规范:’将给定的SecurityContext与当前执行线程关联。’ 使用Web应用程序每当请求到达服务器时,Spring还重新加载并在SecurityContextHolder中为其线程设置该请求的SecurityContext?

Spring安全配置@Order不是唯一的例外

我试图在我的Spring Security配置中注册多个filter,但是我总是得到相同的exception: 04-Nov-2015 14:35:23.792警告[RMI TCP连接(3)-127.0.0.1] org.springframework.web.context.support.AnnotationConfigWebApplicationContext.refresh上下文初始化期间遇到exception – 取消刷新尝试org.springframework.beans .factory.BeanCreationException:创建名为’org.springframework.security.config.annotation.web.configuration.WebSecurityConfiguration’的bean时出错:注入自动连接的依赖项失败; 嵌套exception是java.lang.IllegalStateException:WebSecurityConfigurers上的@Order必须是唯一的。 已经使用了100的订单,因此它不能用于com.payment21.webapp.MultiHttpSecurityConfig$ApiWebSecurityConfigurationAdapter$$EnhancerBySpringCGLIB $ 35c79fe4@1d381684。 由于我自己的尝试不起作用,我尝试了与 Spring Security参考中显示的完全相同的代码 : @EnableWebSecurity public class MultiHttpSecurityConfig { @Autowired public void configureGlobal(AuthenticationManagerBuilder auth) { auth .inMemoryAuthentication() .withUser(“user”).password(“password”).roles(“USER”).and() .withUser(“admin”).password(“password”).roles(“USER”, “ADMIN”); } @Configuration @Order(1) public static class ApiWebSecurityConfigurationAdapter extends WebSecurityConfigurerAdapter { protected void configure(HttpSecurity http) throws Exception { http .antMatcher(“/api/**”) .authorizeRequests() .anyRequest().hasRole(“ADMIN”) .and() […]

Spring Security自定义filter

我想自定义Spring security 3.0.5并将登录URL更改为/ login而不是/ j_spring_security_check。 我需要做的是允许登录“/”目录并保护“/admin/report.html”页面。 首先,我使用教程和Spring Security源代码创建自己的filter: public class MyFilter extends AbstractAuthenticationProcessingFilter { private static final String DEFAULT_FILTER_PROCESSES_URL = “/login”; private static final String POST = “POST”; public static final String SPRING_SECURITY_FORM_USERNAME_KEY = “j_username”; public static final String SPRING_SECURITY_FORM_PASSWORD_KEY = “j_password”; public static final String SPRING_SECURITY_LAST_USERNAME_KEY = “SPRING_SECURITY_LAST_USERNAME”; private String usernameParameter = SPRING_SECURITY_FORM_USERNAME_KEY; private […]

使用OAuth2和JWT的Spring Security:编码的密码看起来不像BCrypt

我正在尝试使用JWT实现Spring AuthorizationServer。 我能够生成JWT令牌并登录,直到我将BCrypt添加到混音中。 现在,当我尝试登录时,我从API获得“错误凭据”。 OAuth2Configuration.java @Configuration @EnableAuthorizationServer public class OAuth2Configuration extends AuthorizationServerConfigurerAdapter { private DataSource dataSource; private AuthenticationManager authenticationManager; private BCryptPasswordEncoder passwordEncoder; public OAuth2Configuration(AuthenticationManager authenticationManager) { this.authenticationManager = authenticationManager; this.dataSource = new Jdbc3PoolingDataSource(); this.passwordEncoder = new BCryptPasswordEncoder(); } @Override public void configure(AuthorizationServerSecurityConfigurer security) throws Exception { security.passwordEncoder(passwordEncoder); } @Override public void configure(ClientDetailsServiceConfigurer clients) throws Exception […]

具有spring security的spring boot:创建名为’securityFilterChainRegistration’的bean时出错

我试图让spring security filterchain正常工作但是spring boot似乎忽略了我自己的bean并使用了WebSecurityConfiguration 。 这些是我得到的例外(从嵌入式tomcat启动失败开始): org.springframework.beans.factory.UnsatisfiedDependencyException: Error creating bean with name ‘securityFilterChainRegistration’ defined in class path resource [org/springframework/boot/autoconfigure/security/SpringBootWebSecurityConfiguration.class]: Unsatisfied dependency expressed through constructor argument with index 0 of type [javax.servlet.Filter]… Caused by: org.springframework.beans.factory.BeanCreationException: Error creating bean with name ‘springSecurityFilterChain’ defined in class path resource [org/springframework/security/config/annotation/web/configuration/WebSecurityConfiguration.class]: Bean instantiation via factory method failed;… Caused by: org.springframework.beans.BeanInstantiationException: […]

如何在spring-security-javaconfig中添加Access Denied Handler

我正在使用spring-security-javaconfig库来保证弹簧安全。 如果我使用xml配置文件,我会使用类似这样的内容来定义自定义访问被拒绝页面: 到目前为止,这是我的安全配置类: @Configuration @EnableWebSecurity public class SecurityConfigurator extends WebSecurityConfigurerAdapter { @Override protected void registerAuthentication(AuthenticationManagerBuilder auth) throws Exception { auth.inMemoryAuthentication().withUser(“user”).password(“password”).roles(“USER”); auth.inMemoryAuthentication().withUser(“admin”).password(“password”).roles(“ADMIN”); } @Override protected void configure(HttpSecurity http) throws Exception { http.authorizeUrls().antMatchers( “/admin”).hasRole(“ADMIN”); } }

使用Spring authorize标签检查用户是否已登录时出错?

尝试测试以查看用户是否已登录我正在使用以下代码: YES, you are logged in! 但我得到以下的erorr? javax.servlet.jsp.JspException: No visible WebSecurityExpressionHandler instance could be found in the application context. There must be at least one in order to support expressions in JSP ‘authorize’ tags. at org.springframework.security.taglibs.authz.AuthorizeTag.getExpressionHandler(AuthorizeTag.java:100) at org.springframework.security.taglibs.authz.AuthorizeTag.authorizeUsingAccessExpression(AuthorizeTag.java:58) at org.springframework.security.taglibs.authz.AuthorizeTag.doStartTag(AuthorizeTag.java:48)

Spring Oauth2。 密码编码器未在DaoAuthenticationProvider中设置

我是Spring Oauth和Spring Security的新手。 我正在尝试在项目中使用client_credentials流程。 现在我设法使用我自己的CustomDetailsS​​ervice来从我系统中已经存在的数据库中获取client_id和密码(secret)。 唯一的问题是我无法更改AuthorizationServer使用的DaoAuthenticationProvider中的密码编码器 – 它默认设置为PlaintextPasswordEncoder。 我无法按照它的方式配置它,例如SHAPasswordEncoder。 它总是使用明文编码器。 我可能不太了解流程,因为我是Spring的新手。 这是我的一些代码(没有DaoAuthenticationProvider的工作配置): SecurityConfig.java @Configuration public class SecurityConfig extends WebSecurityConfigurerAdapter { private static final String RESOURCE_ID = “restservice”; @Override public void configure(WebSecurity web) throws Exception { web.ignoring().antMatchers(“/register/**”); } @Override public AuthenticationManager authenticationManagerBean() throws Exception { return super.authenticationManagerBean(); } @Override protected void configure(AuthenticationManagerBuilder auth) throws Exception { […]