Tag: spring security

Spring core 3.2.2 + Spring security 3.1.4:java.lang.IncompatibleClassChangeError:org.springframework.asm.ClassVisitor

当我在Spring 3.2.2旁边添加Spring-security 3.1.4时,我在下面有这个丑陋的例外。 我搜索了它,只得到了关于同样错误的链接: http : //forum.springsource.org/showthread.php? 133706-Spring-3-2-0-RELEASE-breaks-with- JBoss-7指向springJIRA解释说spring-asm现在处于spring-core状态。 https://jira.springsource.org/browse/SPR-10134 我想我需要以某种方式从spring-security中排除spring-asm。 这是我的例外: java.lang.IncompatibleClassChangeError: class org.springframework.core.LocalVariableTableParameterNameDiscoverer$ParameterNameDiscoveringVisitor has interface org.springframework.asm.ClassVisitor as super class java.lang.ClassLoader.defineClass1(Native Method) java.lang.ClassLoader.defineClass(ClassLoader.java:791) java.security.SecureClassLoader.defineClass(SecureClassLoader.java:142) org.apache.catalina.loader.WebappClassLoader.findClassInternal(WebappClassLoader.java:2895) org.apache.catalina.loader.WebappClassLoader.findClass(WebappClassLoader.java:1173) org.apache.catalina.loader.WebappClassLoader.loadClass(WebappClassLoader.java:1681) org.apache.catalina.loader.WebappClassLoader.loadClass(WebappClassLoader.java:1559) org.springframework.core.LocalVariableTableParameterNameDiscoverer.inspectClass(LocalVariableTableParameterNameDiscoverer.java:112) org.springframework.core.LocalVariableTableParameterNameDiscoverer.getParameterNames(LocalVariableTableParameterNameDiscoverer.java:85) org.springframework.beans.factory.support.ConstructorResolver.autowireConstructor(ConstructorResolver.java:193) org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.autowireConstructor(AbstractAutowireCapableBeanFactory.java:1051) org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBeanInstance(AbstractAutowireCapableBeanFactory.java:955) org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.doCreateBean(AbstractAutowireCapableBeanFactory.java:490) org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBean(AbstractAutowireCapableBeanFactory.java:461) org.springframework.beans.factory.support.AbstractBeanFactory$1.getObject(AbstractBeanFactory.java:295) org.springframework.beans.factory.support.DefaultSingletonBeanRegistry.getSingleton(DefaultSingletonBeanRegistry.java:223) org.springframework.beans.factory.support.AbstractBeanFactory.doGetBean(AbstractBeanFactory.java:292) org.springframework.beans.factory.support.AbstractBeanFactory.getBean(AbstractBeanFactory.java:194) org.springframework.beans.factory.support.DefaultListableBeanFactory.preInstantiateSingletons(DefaultListableBeanFactory.java:626) org.springframework.context.support.AbstractApplicationContext.finishBeanFactoryInitialization(AbstractApplicationContext.java:932) org.springframework.context.support.AbstractApplicationContext.refresh(AbstractApplicationContext.java:479) org.springframework.web.servlet.FrameworkServlet.configureAndRefreshWebApplicationContext(FrameworkServlet.java:651) org.springframework.web.servlet.FrameworkServlet.createWebApplicationContext(FrameworkServlet.java:599) org.springframework.web.servlet.FrameworkServlet.createWebApplicationContext(FrameworkServlet.java:665) org.springframework.web.servlet.FrameworkServlet.initWebApplicationContext(FrameworkServlet.java:518) org.springframework.web.servlet.FrameworkServlet.initServletBean(FrameworkServlet.java:459) org.springframework.web.servlet.HttpServletBean.init(HttpServletBean.java:136) javax.servlet.GenericServlet.init(GenericServlet.java:160) org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:472) org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:99) org.apache.catalina.valves.AccessLogValve.invoke(AccessLogValve.java:953) org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:408) org.apache.coyote.http11.AbstractHttp11Processor.process(AbstractHttp11Processor.java:1008) […]

Spring Expression Language和Spring Security 3:在@PreAuthorize中访问bean引用

我正在尝试在@PreAuthorize注释中访问bean引用,如下所示: @PreAuthorize(“@testBean.getTestValue()”) public String testSpEL() { …. } 我有一个配置如下的测试bean: @Component(value=”testBean”) public class TestBean { public boolean getTestValue() { return true; } } 但是当我尝试访问testSpEL()方法时,我遇到了以下exception: Caused by: org.springframework.expression.spel.SpelEvaluationException: EL1057E:(pos 1): No bean resolver registered in the context to resolve access to bean ‘testBean’ at org.springframework.expression.spel.ast.BeanReference.getValueInternal(BeanReference.java:45) at org.springframework.expression.spel.ast.CompoundExpression.getValueInternal(CompoundExpression.java:52) at org.springframework.expression.spel.ast.SpelNodeImpl.getTypedValue(SpelNodeImpl.java:102) at org.springframework.expression.spel.standard.SpelExpression.getValue(SpelExpression.java:97) at org.springframework.security.access.expression.ExpressionUtils.evaluateAsBoolean(ExpressionUtils.java:11) 我已经彻底完成了我的研究,但我找不到我需要在配置中更改的内容才能使其工作。 有什么指针吗? 谢谢! 亲切的问候,Jonck […]

如何仅在安全端点上应用Spring安全filter?

我有以下Spring Security配置: httpSecurity .csrf() .disable() .exceptionHandling() .authenticationEntryPoint(unauthorizedHandler) .and() .sessionManagement() .sessionCreationPolicy(SessionCreationPolicy.STATELESS) .and() .authorizeRequests() .antMatchers(“/api/**”).fullyAuthenticated() .and() .addFilterBefore(authenticationTokenFilterBean(), UsernamePasswordAuthenticationFilter.class); 即使在与/api/**表达式不匹配的端点上也应用authenticationTokenFilterBean() 。 我还尝试添加以下配置代码 @Override public void configure(WebSecurity webSecurity) { webSecurity.ignoring().antMatchers(“/some_endpoint”); } 但这仍然没有解决我的问题。 如何告诉spring security仅在与安全URI表达式匹配的端点上应用filter? 谢谢

Spring Security:按客户端类型启用/禁用CSRF(浏览器/非浏览器)

Spring doc说 “当您使用CSRF保护时?我们的建议是对普通用户可以由浏览器处理的任何请求使用CSRF保护。如果您只创建非浏览器客户端使用的服务,您可能希望禁用CSRF保护。“ 如果我的服务将被“浏览器”和“非浏览器”客户端(如第三方外部服务)使用,那么Spring安全性是否为某些类型的客户端专门禁用csrf提供了一种方法呢? 参考: http : //docs.spring.io/spring-security/site/docs/3.2.0.CI-SNAPSHOT/reference/html/csrf.html

@PreAuthorize注释不起作用的弹簧安全性

我发现了许多类似的问题,但没有一个问题解决了。 我的问题是ROLE_USER可以访问ROLE_ADMINfunction 我的spring-security.xml代码如下。 当我添加我的代码显示资源未找到错误,当我删除我的代码执行成功但ROLE_USER可以访问ROLE_ADMIN函数 我的控制器function是。 @PreAuthorize(“hasRole(‘ROLE_ADMIN’)”) @RequestMapping(value=”/delete”, method = RequestMethod.GET) public String DeleteAll(ModelMap model, Principal principal ) { org.springframework.security.core.userdetails.User activeUser = (org.springframework.security.core.userdetails.User)SecurityContextHolder.getContext().getAuthentication().getPrincipal(); System.out.println(“Active user is “+activeUser.getUsername()+”Authorities are “+activeUser.getAuthorities()); return “deleteUsers”; }

spring security自定义注销处理程序

如何在spring-security中将自己的注销处理程序添加到LogoutFilter? 谢谢!

与Spring Security在同一应用程序中的两个领域?

我们正在构建一个可供经过身份validation的用户和匿名用户使用的Web应用程序。 如果您决定不注册/登录,则只有一组有限的function。 使用Spring Security通过OpenID完成用户身份validation。 这很好。 但是,该应用程序还附带了一个部署在//admin的管理UI。 我们可以在Spring Security中使用两个独立的领域(例如/admin/**基本身份validation)吗? 如何配置?

Spring 3和NTLM身份validation

我使用的是Spring 3 Web应用程序,因为Spring 3不支持NTLM身份validation,还有哪些其他替代方法可以与Spring安全性一起使用? 以便用户在登录Active Directory时对应用程序进行身份validation? Kerberos解决方案目前不是一个选项,NTLM是唯一的选择。 任何帮助都非常值得赞赏。 谢谢

Spring Security 3.2.1具有不同WebSecurityConfigurerAdapters的多个登录表单

我正在使用Spring Security 3.2.1.RELEASE和Spring MVC 4.0.4.RELEASE 我正在尝试为具有两个不同登录条目页面的Web应用程序设置Spring Security。 我需要将页面区分开来,因为它们的样式和访问方式不同。 首次登录页面适用于管理员用户并保护管理员页面/ admin / ** 第二个登录页面适用于客户用户并保护客户页面/客户/ **。 我试图设置两个WebSecurityConfigurerAdapter子类来配置各个HttpSecurity对象。 CustomerFormLoginWebSecurity正在保护客户页面,如果未经授权,则会重定向到客户登录页面。 如果未经授权,AdminFormLoginWebSecurity正在保护管理页面重定向到管理员登录页面。 不幸的是,似乎只强制执行第一个配置。 我认为我错过了一些额外的东西来使这两者都起作用。 @Configuration @EnableWebSecurity public class SecurityConfig { @Autowired public void registerGlobalAuthentication(AuthenticationManagerBuilder auth) throws Exception { auth .inMemoryAuthentication() .withUser(“customer”).password(“password”).roles(“CUSTOMER”).and() .withUser(“admin”).password(“password”).roles(“ADMIN”); } @Configuration @Order(1) public static class CustomerFormLoginWebSecurity extends WebSecurityConfigurerAdapter { @Override public void configure(WebSecurity web) throws Exception { […]

Spring Security – 在重定向到登录时保留URL参数

好。 假设我有一个安全的url模式 /secure/link-profile 可选地,可以附加url参数。 /secure/link-profile?firstName=Bob&secondName=Smith&membershipNumber=1234 我怎样才能将这些url params转移到登录页面? /login?firstName=Bob&secondName=Smith&membershipNumber=1234 基本前提是我们提供与第三方的奖励整合,第三方会将用户发送给我们。 他们将被带到一个页面,将他们的第三方帐户/个人资料与他们/我们的网站用户联系起来。 但是,如果他们没有我们的现有帐户,那么在登录页面上,他们将进入注册页面,然后我们希望预先填充第三方传递给我们的一些细节。 提前致谢 spring security 2.0.7.RELEASE spring framework 3.1.1.RELEASE