相关疑难解决方法(0)

如何在Spring中获取Session对象?

我对Spring和Spring安全性比较陌生.

我试图编写一个程序,我需要使用Spring安全性在服务器端验证用户,

我想出了以下内容:

public class CustomAuthenticationProvider extends AbstractUserDetailsAuthenticationProvider{
    @Override
    protected void additionalAuthenticationChecks(UserDetails userDetails, UsernamePasswordAuthenticationToken usernamePasswordAuthenticationToken)
                    throws AuthenticationException
    {
        System.out.println("Method invoked : additionalAuthenticationChecks isAuthenticated ? :"+usernamePasswordAuthenticationToken.isAuthenticated());
    }

    @Override
    protected UserDetails retrieveUser(String username,UsernamePasswordAuthenticationToken authentication) throws AuthenticationException 
    {
        System.out.println("Method invoked : retrieveUser");
        //so far so good, i can authenticate user here, and throw exception if not authenticated!!
        //THIS IS WHERE I WANT TO ACCESS SESSION OBJECT
    }
}
Run Code Online (Sandbox Code Playgroud)

我的用例是,当用户通过身份验证时,我需要放置一个属性,如:

session.setAttribute("userObject", myUserObject);
Run Code Online (Sandbox Code Playgroud)

myUserObject是某个类的对象,我可以跨多个用户请求访问整个服务器代码.

spring spring-mvc spring-security

83
推荐指数
3
解决办法
17万
查看次数

Servlet与RESTful

今天我读到了Restful服务.基本上我所理解的是Restful webservices将在HTTP请求方法上工作,而不是普通的webservice将在SOAP请求上工作.

什么是Restful服务需要,因为普通的servlet也可以在HTTP方法上工作?

servlets jax-rs java-ee

48
推荐指数
1
解决办法
2万
查看次数

在我的网络应用程序中从spring获取"未找到线程绑定请求"错误

我在我的网络应用程序中收到"未找到线程绑定请求"错误,并希望得到一些帮助.我正在尝试使用struts2 + spring + hibernate,并使用spring来管理hibernate会话工厂,并将hibernate会话注入我的struts操作.我希望这是有道理的.当应用程序启动时,没有错误,但是当我发出第一个Web请求时,它会弹出"未找到线程绑定请求"错误.这是我的春季配置:

<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE beans PUBLIC "-//SPRING//DTD BEAN 2.0//EN" "http://www.springframework.org/dtd/spring-beans-2.0.dtd">
<beans>
  <bean id="hibernateSessionFactory" scope="singleton"
    class="org.springframework.orm.hibernate3.LocalSessionFactoryBean">
    <property name="configLocation" value="classpath:hibernate.cfg.xml" />
  </bean>
  <bean id="hibernateSession" factory-bean="hibernateSessionFactory"
    factory-method="openSession" destroy-method="close" scope="request" class="org.hibernate.Session" />
</beans>
Run Code Online (Sandbox Code Playgroud)

这是我的行动:

package actions.events;
import org.hibernate.Session;

public class Listing {
  Session session;
  public void setHibernateSession(Session value) throws Exception
  {
    session = value;
  }

  public String execute() {
    return "success";
  }
}
Run Code Online (Sandbox Code Playgroud)

我唯一的领先是,如果我删除上面的'setHibernateSession'函数,我不会得到错误,因为如果动作不需要一个(懒惰的实例化),大概春天不打扰创建会话.

这是例外:

Unable to instantiate Action, actions.events.Listing, defined for 'Listing' in namespace '/events'Error creating bean with …
Run Code Online (Sandbox Code Playgroud)

java spring struts hibernate struts2

25
推荐指数
2
解决办法
4万
查看次数

ThreadLocal在servlet中存储ServletRequest和Response:对于什么?

一旦我遇到了一个模式,将where ServletRequest和响应对象放到servlet的局部ThreadLocal变量中.servlet类还有获取当前请求和响应对象的方法.因此,为了获得这些对象,您仍然需要使用servlet对象.

拥有这些ThrealLocal局部变量有什么意义?

java servlets thread-local java-ee

9
推荐指数
1
解决办法
9670
查看次数