Tag: session

JAXWS和会话

我很擅长编写Web服务。 我正在使用JAXWS开发SOAP服务。 我希望能够让用户登录并在我的服务中知道哪个用户正在发出命令。 换句话说,有一些会话处理。 我见过这样做的一种方法是使用cookie并从我的Web服务访问HTTP层。 但是,这依赖于使用HTTP作为传输层(我知道HTTP几乎总是传输层,但我是纯粹的)。 是否有更好的方法可以使服务层不知道传输层? 有没有办法用servletfilter完成这个? 我希望答案尽可能与框架无关。

WebSphere中跨JVM的会话复制

我们有一个基础架构设置,其中Web服务器是集群的,而应用程序服务器则不是。 Web服务器根据循环策略将请求路由到应用程序服务器。 在此方案中,一个应用程序服务器中可用的会话数据在另一个应用程序服务器中不可用。 无论如何,第一个应用程序服务器的会话数据是否可以在第二个应用程序中使用? 两个应用程序服务器在不同的单元中是物理上分开的框 一种方法可能是使用数据库 – 是否有其他方法来完成此会话复制?

Spring Security:会话到期而没有重定向到expired-url?

我正在使用基于Spring Security 3.0.2表单的身份validation。 但我无法弄清楚如何配置它以便当会话到期时请求不会重定向到其他页面(expired-url)或显示“会话过期”消息。 我不想要任何重定向或消息,我希望匿名会话启动就像没有会话的用户进入网站时一样。 我目前的配置:

Apache Tomcat 7在每个请求上更改JSESSIONID

这个问题让我感到疯狂,所以也许有人可以帮我理解问题所在。 我有一个tomcat web应用程序正面向HAProxy。 HAProxy也在进行SSL卸载,并配置为使用粘性会话。 我正在使用Tomcat的会话复制function,似乎工作正常。 会话出现在两个应用服务器上。 出于某种原因,Tomcat为每个Web请求生成一个新的JSESSIONID,然后将旧会话的内容复制到新会话中。 也就是说,我的会话内容仍然在新会话中,但会生成一个新ID并将其发送回客户端。 但它只对我的Web应用程序执行此操作。 它不会对/ manager应用程序执行此操作。 我已经尝试了本书中的每一个技巧,例如在我的context.xml中设置它: 并在我的Context元素上设置这些属性: 而且,结果仍然是一样的。 Tomcat为每个请求生成一个新的会话ID,并将旧会话的内容复制到新的id中。 我怀疑它与HAProxy有关,除了/ manager应用程序也支持HAProxy并且它没有表现出这种行为。 为什么Tomcat会这样做,我该怎么做才能阻止它呢?

在JBoss AS 6中监听登录事件

我有一个在JBoss AS6中运行的应用程序。 身份validation正在使用“FORM”身份validation方法,并且用户正在正确登录。 我希望能够在用户成功登录时调用一段自定义静态代码。 不幸的是,我找不到任何监听器,挂钩或回调,它们会在成功登录时执行代码。 HttpSessionListener确实有一个“sessionCreated”事件,但是一旦用户访问任何页面就会调用它,即使他们没有成功登录。这意味着即使查看登录表单也会触发事件。 有人能指出我的JBoss AS 6(或同等版本)的一些文档,它们展示了当用户第一次成功登录时如何运行自定义代码? 提前致谢。

什么时候SpringMVC中的@SessionAttributes被删除了? (带代码示例)

在什么情况下@SessionAttributes被清除? 尝试在页面中使用两个模型时,我发现了一些令人困惑的行为。 当我使用此控制器执行GET后跟POST时… @Controller @RequestMapping(“/myPage*”) @SessionAttributes(value = {“object1”, “object2”}) public class MyController { @RequestMapping(method = RequestMethod.GET) public String get(Model model) { model.addAttribute(“object1”, new Object1()); model.addAttribute(“object2”, new Object2()); return “myPage”; } @RequestMapping(method = RequestMethod.POST) public String post(@ModelAttribute(value = “object1”) Object1 object1) { //do something with object1 return “myPage”; } } … object2从模型中清除。 它不再作为@SessionAttribute存在,无法在我的视图页面上访问。 但是如果第二种方法的签名被修改为…… public String […]

Session类中的getDefaultInstance()和getInstance()有什么区别?

Session.getDefaultInstance(props, authenticator)和getInstance(props, authenticator)什么区别? 一般来说,你何时会选择一个而不是另一个? 我还在getDefaultInstance(props,authenticator)上阅读了Java doc,但仍然无法清楚地清楚地看出差异。 希望专家可以帮助我更好地理解这一点。 更新:触发提出此问题的实际原因是:我们在基于Web的应用程序中的某些位置使用了Session.getDefaultInstance()方法。 有时,它抛出java.lang.SecurityException: Access to default session denied ,在快速谷歌搜索时,它建议使用Session.getInstance()方法。 因此,当一个人选择一个而不是另一个?

viewExpiredException JSF

为了处理JSF中的viewExpiredException,我进行了编码 javax.faces.application.ViewExpiredException /error.html 1 在web.xml 。 在error.html我已重定向到原始登录页面。 但问题是会话范围的bean即使会话过期也没有被清除。 有什么方法可以解决这个问题吗?

单击注销按钮,终止会话并重定向到登录页面

我在JSP中有以下代码: 当用户单击注销按钮时,我想将其重定向到登录页面并终止当前会话。 我已成功完成重定向部分,但我不知道如何终止会话。 怎么能这样呢?

在我的应用程序中打开的位置和关闭SessionFactory的位置

我正在开发jsf应用程序并使用hibernate作为后端。 我想创建会话工厂并通过应用程序关闭它一次。 我正在用util类创建Session工厂。 import org.hibernate.HibernateException; import org.hibernate.SessionFactory; import org.hibernate.cfg.Configuration; import org.hibernate.service.ServiceRegistry; import org.hibernate.service.ServiceRegistryBuilder; public class HibernateUtil { private static SessionFactory sessionFactory; private static ServiceRegistry serviceRegistry; static { try { Configuration configuration = new Configuration().configure(); serviceRegistry = new ServiceRegistryBuilder().applySettings(configuration.getProperties()).buildServiceRegistry(); sessionFactory = configuration.buildSessionFactory(serviceRegistry); } catch (HibernateException he) { System.err.println(“Error creating Session: ” + he); throw new ExceptionInInitializerError(he); […]