Tag: spring

如何解决Spring Security中的角色?

我正在尝试在我的项目中使用Spring Security,这里是代码: @Override protected void configure(AuthenticationManagerBuilder auth) throws Exception { // TODO Auto-generated method stub //super.configure(auth); //auth.inMemoryAuthentication().withUser(“admin”).password(“1111”).roles(“USER”); auth .jdbcAuthentication() .dataSource(dataSource) .usersByUsernameQuery(“select username, password, 1 from users where username=?”) .authoritiesByUsernameQuery(“select users_username, roles_id from roles_users where users_username=?”) .rolePrefix(“ROLE_”); } @Override protected void configure(HttpSecurity http) throws Exception { http .csrf().disable(); http .httpBasic(); http .authorizeRequests() .anyRequest().authenticated(); http .authorizeRequests() .antMatchers(“/users/all”).hasRole(“admin”) […]

使用注释@SpringBootApplication进行配置

我有Spring Boot配置的问题。 我使用https://start.spring.io/创建了基本的Spring Boot项目 我有一个问题,配置仅适用于子目录中的类: 我试过注释@ComponentScan但它没有帮助。 你知道我能用这个做什么吗?

抽象方法错误

我正在研究netbeans中的一个项目,当我使用glassfish 3.1.2启动它时。一切正常。但是当我调用映射到以下方法的/ invite url时 @RequestMapping(value = “/invite”, method = RequestMethod.POST) @ExceptionHandler(GenericException.class) public ModelAndView create(@ModelAttribute(value = “preRegister”) @Valid PreRegister preRegister, BindingResult result, HttpServletRequest request) { mav = new ModelAndView(); validator.validate(preRegister, result); List roleList = null; if (result.hasErrors()) { mav.setViewName(“user_populate_create”); try { roleList = roleDao.list(); } catch (Exception ex) { logger.error(“UserController: Unable to list Roles: “, ex); […]

HTTP状态406. Spring MVC 4.0,jQuery,JSON

我想从我的控制器发送JSON。 我有以下配置。 spring-servlet.xml: .js: function testAjax() { var data = {userName: “MyUsername”, password:”Password”}; $.ajax({ url: ‘ajax/test.htm’, dataType : ‘json’, type : ‘POST’, contentType: “application/json”, data: JSON.stringify(data), success: function(response){ alert(‘Load was performed.’); } }); } UserTest.java: public class UserTest { private String userName; private String password; public String getUserName() { return userName; } public void setUserName(String […]

Spring Boot外部化属性不起作用

我看了下面的线程,并按照那里给出的东西。 我的财产覆盖仍然没有发生 1) Spring Boot – 外部化属性 2) 特定于配置文件的属性启用 3) Spring Boot外部配置 我在tomcat 8.0.33和Spring boot starter web上,并在我的setenv.sh中得到了这个 export JAVA_OPTS=”$JAVA_OPTS -Dlog.level=INFO -Dspring.config.location=file:/opt/jboss/apache-tomcat-8.0.33/overrides/ -Dspring.profiles.active=dev” 在overrides文件夹中,我有2个文件 1) application.properties 2) application-dev.properties application.properties中只有一个条目 spring.profiles.active=dev 我看到正确的log.level被提供给我的代码,这意味着这个命令正在运行。 它只是因为我为什么我的覆盖没有按预期发生而无能为力 我的工作区中没有任何`PropertyPlaceholderConfigurer代码。 我甚至不确定我是否需要1 请帮忙!!!

Hibernate,Java 9和SystemException

我一直在尝试在Java 9 / Spring Boot 1.5.x / Maven项目中运行Hibernate 5.2.11应用程序,但是我在缺少类时失败了: Caused by: java.lang.NoClassDefFoundError: javax/transaction/SystemException at java.base/java.lang.Class.forName0(Native Method) at java.base/java.lang.Class.forName(Class.java:375) at org.jboss.logging.Logger$1.run(Logger.java:2554) at java.base/java.security.AccessController.doPrivileged(Native Method) at org.jboss.logging.Logger.getMessageLogger(Logger.java:2529) at org.jboss.logging.Logger.getMessageLogger(Logger.java:2516) at org.hibernate.internal.HEMLogging.messageLogger(HEMLogging.java:28) at org.hibernate.internal.HEMLogging.messageLogger(HEMLogging.java:24) at org.hibernate.jpa.boot.internal.EntityManagerFactoryBuilderImpl.(EntityManagerFactoryBuilderImpl.java:115) at org.springframework.orm.jpa.vendor.SpringHibernateJpaPersistenceProvider.createContainerEntityManagerFactory(SpringHibernateJpaPersistenceProvider.java:54) at org.springframework.orm.jpa.LocalContainerEntityManagerFactoryBean.createNativeEntityManagerFactory(LocalContainerEntityManagerFactoryBean.java:353) at org.springframework.orm.jpa.AbstractEntityManagerFactoryBean.buildNativeEntityManagerFactory(AbstractEntityManagerFactoryBean.java:370) at org.springframework.orm.jpa.AbstractEntityManagerFactoryBean.afterPropertiesSet(AbstractEntityManagerFactoryBean.java:359) at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.invokeInitMethods(AbstractAutowireCapableBeanFactory.java:1687) at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.initializeBean(AbstractAutowireCapableBeanFactory.java:1624) … 33 more 有没有人遇到此exception并知道解决方法? 我尝试为javax.bind或java.se.ee添加–add-modules ,但是他们没有帮助。 上面的错误显示在mavan-failsafe(2.20.1)集成测试中,它使用Hibernate启动Spring上下文。 应用程序没有任何Java 9特定代码。

在不使用NamespacePrefixMapper的情况下定义Spring JAXB名称空间

[根据理解进展重编辑] 是否有可能让Spring Jaxb2Marshaller使用一组自定义的命名空间前缀(或者至少尊重模式文件/注释中给出的名称空间前缀),而不必使用NamespacePrefixMapper的扩展名? 我们的想法是让一个类与另一个类具有“has”关系,而另一个类又包含具有不同命名空间的属性。 为了更好地说明这一点,请考虑以下使用JDK1.6.0_12的项目大纲(最新的我可以在工作中得到)。 我在org.example.domain包中有以下内容: Main.java: package org.example.domain; import javax.xml.bind.JAXBContext; import javax.xml.bind.JAXBException; import javax.xml.bind.Marshaller; public class Main { public static void main(String[] args) throws JAXBException { JAXBContext jc = JAXBContext.newInstance(RootElement.class); RootElement re = new RootElement(); re.childElementWithXlink = new ChildElementWithXlink(); Marshaller marshaller = jc.createMarshaller(); marshaller.setProperty(Marshaller.JAXB_FORMATTED_OUTPUT, true); marshaller.marshal(re, System.out); } } RootElement.java: package org.example.domain; import javax.xml.bind.annotation.XmlElement; […]

创建名为’entityManagerFactory的bean时出错

我试图运行dbtest但我收到以下错误: “引起:org.springframework.beans.factory.BeanCreationException:在类路径资源[root-context.xml]中定义名称为’entityManagerFactory’的bean创建错误:init方法的调用失败;嵌套exception是java.lang.AbstractMethodError: org.springframework.orm.jpa.persistenceunit.SpringPersistenceUnitInfo.getValidationMode()Ljavax /持久/ ValidationMode;” 因此我也得到以下错误: “引起:org.springframework.beans.factory.BeanCreationException:在类路径资源[root-context.xml]中定义了名为’personRepository’的bean创建错误:bean的初始化失败;嵌套exception是org.springframework.beans.factory .BeanCreationException:在类路径资源[root-context.xml]中定义名称为’entityManagerFactory’的bean时出错:init方法的调用失败;嵌套exception是java.lang.AbstractMethodError:org.springframework.orm.jpa.persistenceunit.SpringPersistenceUnitInfo .getValidationMode()Ljavax /持久/ ValidationMode; 所以我们必须对我的根上下文文件进行检查,它看起来如下: <!– Root Context: defines shared resources visible to all other web components –> persisence.xml看起来如下: org.hibernate.ejb.HibernatePersistence 这是我的pom.xml文件: 4.0.0 se.lowdin civilforsvaret civilforsvaret-webbapp war 1.0.0-BUILD-SNAPSHOT 1.6 3.1.1.RELEASE 1.6.10 1.6.6 org.springframework spring-context ${org.springframework-version} commons-logging commons-logging org.springframework spring-webmvc ${org.springframework-version} org.aspectj aspectjrt ${org.aspectj-version} mysql mysql-connector-java 5.1.24 org.slf4j slf4j-api ${org.slf4j-version} […]

如何让Jetty动态加载“静态”页面

我正在构建Java Web应用程序,我讨厌传统的“代码 – 编译 – 部署 – 测试”循环。 我想键入一个微小的更改,然后立即查看结果,而无需编译和部署。 幸运的是, Jetty非常适合这一点。 它是一个纯java的Web服务器。 它附带了一个非常好的maven插件 ,可以直接从构建树中启动Jetty读取 – 无需打包war文件或部署。 它甚至还有一个scanInterval设置:将它设置为非零值,它将监视您的java文件和各种配置文件以进行更改,并在您进行更改后自动重新部署几秒钟。 只有一件事让我远离天堂。 我的src / main / webapp目录中有javascript和css文件,这些文件只能由Jetty提供。 我希望能够编辑这些并在浏览器中刷新页面时显示更改。 不幸的是,Jetty将这些文件保持打开状态,因此我无法(在Windows上)在运行时修改它们。 有谁知道如何让Jetty放开这些文件,以便我可以编辑它们,然后为后续请求提供编辑后的文件?

Spring Security 5:没有为id“null”映射PasswordEncoder

我正在从Spring Boot 1.4.9迁移到Spring Boot 2.0以及Spring Security 5,我正在尝试通过OAuth 2进行身份validation。但是我收到此错误: java.lang.IllegalArgumentException:没有为id“null”映射PasswordEncoder 从Spring Security 5的文档中,我了解到密码的存储格式已更改。 在我当前的代码中,我创建了我的密码编码器bean: @Bean public BCryptPasswordEncoder passwordEncoder() { return new BCryptPasswordEncoder(); } 但它给了我以下错误: 编码密码看起来不像BCrypt 所以我按照Spring Security 5文档更新编码器: @Bean public PasswordEncoder passwordEncoder() { return PasswordEncoderFactories.createDelegatingPasswordEncoder(); } 现在,如果我能在数据库中看到密码,那么它就是存储的 {bcrypt}$2a$10$LoV/3z36G86x6Gn101aekuz3q9d7yfBp3jFn7dzNN/AL5630FyUQ 随着第一个错误消失,现在当我尝试进行身份validation时,我得到以下错误: java.lang.IllegalArgumentException:没有为id“null”映射PasswordEncoder 为了解决这个问题,我尝试了Stackoverflow的以下所有问题: Spring Boot PasswordEncoder错误 Spring Oauth2。 密码编码器未在DaoAuthenticationProvider中设置 这是一个类似于我的问题,但没有回答: Spring Security 5 – 密码迁移 注意:我已将加密密码存储在数据库中,因此无需再在UserDetailsService进行编码。 在Spring security […]