我有一种情况,我需要将分离的对象重新挂接到一个hibernate会话,虽然同一个标识的对象可能已经存在于会话中,这会导致错误。 现在,我可以做两件事之一。 getHibernateTemplate().update( obj )当且仅当一个对象在hibernate会话中不存在时,它才起作用。 当我稍后需要时,会抛出exception,说明具有给定标识符的对象已经存在于会话中。 getHibernateTemplate().merge( obj )当且仅当hibernate会话中存在一个对象时,它才起作用。 当我需要对象在会话中后,如果我使用这个exception抛出。 鉴于这两种情况,我怎样才能将会话一般附加到对象? 我不想用exception来控制这个问题解决scheme的stream程,因为必须有更优雅的解决scheme。
根据我在Vim中的任务,我打开了几个选项卡。 如何保存不同的会话供以后使用?
在网上search了很多东西之后,我发现有一个简单的方法可以在非活动时间之后自动注销通过Symfony Securitylogin的用户。 例如,我希望用户在闲置30分钟后注销。 我使用这样的自定义用户提供程序。 但在用户login系统后,会话永不过期。 即使closures浏览器并在几天之后再次打开,会话仍然有效。 无论如何,以自动方式甚至手动方式注销这个用户? 我怎样才能做到这一点?
我需要在Ruby on Rails应用程序中实现细粒度的访问控制。 个人用户的权限保存在数据库表中,我认为最好让相应的资源(例如模型的实例)决定是否允许某个用户读取或写入。 每次在控制器中作出这个决定肯定不会很干。 问题是,为了做到这一点,模型需要访问当前用户,调用像may_read ?( current_user , attribute_name ) 。 一般来说,模型不能访问会话数据。 有相当多的build议来保存在当前线程中的当前用户的引用,例如在这篇博客文章中 。 这肯定会解决问题。 相邻的Google结果build议我在User类中保存一个对当前用户的引用,但是我猜这是被某个应用程序不需要一次容纳很多用户的人想到的。 ;) 长话短说,我觉得我希望从模型中访问当前用户(即会话数据)的愿望来自我做错了 。 你能告诉我我错了吗?
免责声明:我是REST学派的新手,我正试图围绕这个思路。 所以,我正在阅读这个页面,“ 常见REST错误” ,而且我发现我对完全不相关的部分感到十分困惑。 这就是页面所说的: 客户端不需要“login”或“启动连接”。 每个消息都会自动完成HTTP身份validation。 客户应用程序是资源的消费者,而不是服务。 所以没有什么可以login的! 假设您正在预订REST Web服务的航class。 您不会创build一个新的“会话”连接到服务。 而是要求“行程创build者对象”为您创build一个新的行程。 你可以开始填充空白,但在Web上的其他地方获得一些完全不同的组件来填充其他空白。 没有会话,所以在客户端之间没有迁移会话状态的问题。 在服务器中也没有“会话关联性”的问题(尽pipe仍然存在负载平衡问题)。 好吧,我得到的HTTPauthentication是自动完成每封邮件 – 但如何? 是每个请求发送的用户名/密码? 那只是增加攻击面积? 我觉得我缺less部分难题。 有一个REST服务(比如说/session )接受一个GET请求,在这个请求中传入一个用户名/密码,并且在authentication成功的情况下返回一个会话令牌然后传递给随后的请求? 从REST的angular度来看,这是否有意义,还是缺less重点?
我正在尝试为我的网站上的表单添加一些安全性。 其中一种forms使用AJAX,另一种forms是直接“联系我们”forms。 我正在尝试添加一个CSRF令牌。 我遇到的问题是,令牌只在某些时候显示在HTML“值”中。 剩下的时间,价值是空的。 以下是我在AJAX表单上使用的代码: PHP: if (!isset($_SESSION)) { session_start(); $_SESSION['formStarted'] = true; } if (!isset($_SESSION['token'])) {$token = md5(uniqid(rand(), TRUE)); $_SESSION['token'] = $token; } HTML <form> //… <input type="hidden" name="token" value="<?php echo $token; ?>" /> //… </form> 有什么build议么?
我有一个应用程序设置,其中每个用户属于一个公司,该公司有一个子域(我正在使用basecamp风格子域)。 我面临的问题是,轨道是创build多个cookie(一个为lvh.me和另一个为subdomain.lvh.me),这是在我的应用程序造成了不less中断(如闪存消息是持久性的,虽然所有请求一次login)。 我在我的/cofig/initilizers/session_store.rb文件中有这个: AppName::Application.config.session_store :cookie_store, key: '_application_devise_session', domain: :all 域名::似乎都是我在Google上find的标准答案,但这似乎不适合我。 任何帮助表示赞赏!
faces-config.xml : <application> <locale-config> <default-locale>ru</default-locale> <supported-locale>ua</supported-locale> </locale-config> </application> 在一个bean操作方法中,我正在改变当前视图中的语言环境,如下所示: FacesContext.getCurrentInstance().getViewRoot().setLocale(new Locale("ua")); 问题在于ua语言环境已经被应用,但是仅仅是每个请求/视图而不是会话。 同一会话中的另一个请求/视图会将区域设置重置为默认的ru值。 我如何应用会话的语言环境?
在添加<h:form>之后,我在一个非常简单的JSF 2页面中遇到以下异常: java.lang.IllegalStateException: Cannot create a session after the response has been committed at org.apache.catalina.connector.Request.doGetSession(Request.java:2758) at org.apache.catalina.connector.Request.getSession(Request.java:2268) 我在Tomcat 7.0.22和JDK 7上使用Mojarra 2.1.3和PrimeFaces3.0M4。 该页面是一个非常基本的数据表格: <html xmlns="http://www.w3.org/1999/xhtml" xmlns:h="http://java.sun.com/jsf/html" xmlns:f="http://java.sun.com/jsf/core" xmlns:p="http://primefaces.org/ui"> <h:head> </h:head> <h:body> <h:form> <p:dataTable var="car" value="#{tableBean.cars}"> …… </p:dataTable> </h:form> </h:body> </html> 该页面在浏览器上正确显示,但在控制台上,我看到异常。 如果我删除<h:form> ,异常消失。 这是如何造成的,我该如何解决?
我的Web应用程序使用会话在用户登录后存储用户的相关信息,并在应用程序中的页面之间传递信息时维护这些信息。 在这个特定的应用程序中,我存储了该用户的user_id , first_name和last_name 。 我想在登录时提供一个“Keep Me登录”选项,这个选项会在用户的机器上放置一个cookie两周,当他们返回到应用程序时,会重新启动他们的会话。 这样做的最好方法是什么? 我不想将它们的user_id存储在cookie中,因为它似乎会使一个用户很容易尝试伪造另一个用户的身份。