Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/file/3.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
Spring security 如何在使用Spring Security的应用程序中模拟功能测试的身份验证?_Spring Security_Functional Testing - Fatal编程技术网

Spring security 如何在使用Spring Security的应用程序中模拟功能测试的身份验证?

Spring security 如何在使用Spring Security的应用程序中模拟功能测试的身份验证?,spring-security,functional-testing,Spring Security,Functional Testing,我为正在开发的web应用程序提供了一套由Selenium驱动的功能测试。我最近与Spring Security集成,作为处理身份验证的一种手段。我的所有功能测试现在都会失败,因为每个请求现在都被带到登录屏幕,而不是最初请求的页面 当然,我可以用很多方法来解决这个问题,但没有一种方法特别吸引人。将虚拟凭证硬编码到我的测试代码中,然后作为每个测试用例的一部分登录,这看起来是丑陋、脆弱和不安全的。添加某种应用程序级别的开关以禁用用于测试目的的身份验证似乎也是一个坏主意——在生产中禁用安全性的任何可能性

我为正在开发的web应用程序提供了一套由Selenium驱动的功能测试。我最近与Spring Security集成,作为处理身份验证的一种手段。我的所有功能测试现在都会失败,因为每个请求现在都被带到登录屏幕,而不是最初请求的页面

当然,我可以用很多方法来解决这个问题,但没有一种方法特别吸引人。将虚拟凭证硬编码到我的测试代码中,然后作为每个测试用例的一部分登录,这看起来是丑陋、脆弱和不安全的。添加某种应用程序级别的开关以禁用用于测试目的的身份验证似乎也是一个坏主意——在生产中禁用安全性的任何可能性都是不可取的


我肯定不是第一个遇到这个问题的人。在使用Spring Security为应用程序编写功能测试时,处理身份验证的最佳方法是什么?

我不确定这是否是Spring安全问题,任何需要登录才能访问某些页面的系统都会出现这种情况。就我个人而言,我会选择虚拟凭证路线。我正在与同样的情况作斗争。。。我在将此添加到每个测试之前解决了时间问题(您必须首先登录并复制会话ID-仅适用于已运行的站点):def setup(){browser.augmentedDriver.manage().deleteAllCookies();browser.augmentedDriver.manage().addCookie(新Cookie(“PHPSESSID”,“yourSessionID”))browser.config.autoclearccookies=false}