Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/actionscript-3/7.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Session 记得我的春季安全,各种各样的问题_Session_Cookies_Spring Security_Remember Me - Fatal编程技术网

Session 记得我的春季安全,各种各样的问题

Session 记得我的春季安全,各种各样的问题,session,cookies,spring-security,remember-me,Session,Cookies,Spring Security,Remember Me,我正在使用SpringFramework3.0.5和SpringSecurity3.0.5开发一个Web应用程序,用户可以在其中登录和注销,如果他们愿意的话,可以使用MemberMe服务 由于我没有太多的经验,我想知道它是否工作正常。我使用PersistentTokenApproach(在我自己的实现中,因为我使用Hibernate。)我可以看到cookie在登录时创建,在注销时删除。 如果我有一个有效的“记住我”Cookie并关闭浏览器,则当我再次打开浏览器时,我会再次成功登录。到目前为止,一

我正在使用SpringFramework3.0.5和SpringSecurity3.0.5开发一个Web应用程序,用户可以在其中登录和注销,如果他们愿意的话,可以使用MemberMe服务

由于我没有太多的经验,我想知道它是否工作正常。我使用PersistentTokenApproach(在我自己的实现中,因为我使用Hibernate。)我可以看到cookie在登录时创建,在注销时删除。 如果我有一个有效的“记住我”Cookie并关闭浏览器,则当我再次打开浏览器时,我会再次成功登录。到目前为止,一切顺利

现在,我只想知道我注意到的那些事情是否如预期的那样起作用,或者我是否犯了错误

1)当用户在没有记住我的情况下登录并且浏览器选项卡关闭(而不是浏览器本身)时,在重新打开新的浏览器选项卡时,他仍然经过身份验证(他使用的是相同的JSESSIONID)。当关闭浏览器并再次打开时,他不再经过身份验证。关于Web应用程序的安全性,这是推荐的(“正常”)行为吗

2)当使用“记住我”并且用户成功通过身份验证(通过登录或稍后通过cookie)时,cookie上不再有任何检查。这意味着,如果同时用户在线,我会从数据库中删除cookie,用户仍然可以登录,甚至可以查看安全页面。我猜这是因为他以前经过身份验证,并且一直使用相同的SESSIONID。当我关闭浏览器并再次打开时,他不再经过身份验证

3)当我没有cookie并打开主页时,对于我发送的每个请求(页面上的每个图片、每个文件),服务器都会检查Memberme cookie。对吗

很抱歉提出这些新手问题,但我只想确保一切都正常工作。:-)提前谢谢

1)就浏览器中的选项卡而言,我确信它们都共享同一个浏览器会话。如果你尝试使用gmail或其他基于网络的服务,当你关闭/打开标签时,你会看到同样的行为。对于旧版本的IE(可能是版本6),单独的实例有自己的会话,除非它们是从现有的IE实例派生出来的

2) 这听起来不错。在每个请求都经过身份验证之后,对其进行访问并不是非常理想的做法

3) 这是正确的,因为默认情况下,spring安全过滤器将在/*-上进行过滤,并尝试查找身份验证信息。您可以将不需要保护的资源的排除项添加到安全配置中-即

<http> <intercept-url pattern="/images/**" filters="none"/>