我有两个HTTP服务器提供的UI.因此,我需要从两个服务器清除HTTP会话.注销用例很简单但不清楚如何为会话超时用例执行此操作.
服务器端的通知可以通过HttpSessionBindingListener 获取有界/无界的通知到HTTP会话.但是如何通知客户端网站呢?我必须将请求从浏览器发送到第二台服务器,以便能够清理第二台服务器上的会话cookie,因此我无法从服务器端发送请求.
添加
一台服务器是Tomcat 8,第二台服务器是Apache HTTPD服务器.我想通过UI回调来解决它(来自Tomcat HTTP servlet服务器).
我们有几个数据模式,我们调查迁移到Liquibase.(其中一个数据模式已经迁移到Liquibase).
对我们来说重要的问题是Liquibase是否支持干运行:
(类似于此SQL Server查询干运行但与Liquibase相关的问题)
答案后添加
我阅读了与updateSQL相关的文档,并没有回答"干运行"的要求.它只是生成SQL(在命令行中,在Ant任务和Maven插件中).我会澄清我的问题:
Liquibase是否支持对交易的控制?
我想在执行Liquibase changelog之前打开事务,并在更改日志执行后回滚事务.当然,我需要验证执行的结果.
可能吗?
添加
如果没有对事务(或干运行)的控制,我们就无法将所有模式迁移到Liquibase.
请帮忙.
我想更好地理解Liquibase如何执行更改集.
1)
a)例如,我有一个包含4个更改集的更改日志,我执行updateDatabase(http://www.liquibase.org/documentation/ant/updatedatabase_ant_task.html).Liquibase将执行4个更改集.
b)如果我再次运行相同的更改日志Liquibase不执行任何设置.
c)如果我将一个新的更改集添加到更改日志并运行更改日志,Liquibase将仅执行新的更改集.
问题:
Liquibase如何知道要执行的更改集?
Liquibase如何知道已经执行了哪些更改集?
2)变更集ID如何重要?更改日志执行后我可以更改它吗?
3)变更集作者如何重要?更改日志执行后我可以更改它吗?
4)如果我将执行rollbackDatabase(http://www.liquibase.org/documentation/ant/rollbackdatabase_ant_task.html)会怎样?Liquibase如何知道哪些更改设置为回滚?
a)如果我将在1 a)之后执行回滚会发生什么.Liquibase会调用位于每个更改集中的回滚元素(4个回滚元素)吗?
b)如果我将在1 b)之后执行回滚会发生什么.Liquibase如何知道不会调用任何回滚元素?
c)如果我将在1 c)之后执行回滚会发生什么.Liquibase会调用只有新变更集的回滚元素吗?
我开始设计多租户系统并已阅读文章:http:
//msdn.microsoft.com/en-us/library/aa479086.aspx
无论如何,我有几个与身份验证有关的问题.例如,我们需要支持需要单独数据库的客户.更确切地说,客户使用单独的LDAP(每个租户的LDAP).我无法解决的问题是,在身份验证之前,身份验证框架需要知道租户,以便针对相应的LDAP进行身份验证.用户在身份验证期间如何选择租户?
表单身份验证:
我们是否应该开发一个包含3个输入字段的特殊表单登录:用户名,密码和租户?
我们应该向用户显示所有租户的列表吗?这是信息泄露,用户可以看到部署中所有租户的列表.它应该是自由文本提交吗?在这种情况下,它容易出错.
其他类型的身份验证:
如果我们使用基本身份验证,如何发送租户信息?摘要认证?客户证书认证?
任何对现有(免费)框架的观点都将受到赞赏.
我手中有一个SSL LDAP服务器证书.我想用它来使用UnboundID SDK连接到LDAP服务器.
我不想使用com.unboundid.util.ssl.TrustAllTrustManager,如下所示: 使用带有SSL证书文件的UnboundID SDK连接到Android应用程序中的LDAP服务器
以下TrustManagers不符合我们的产品要求:
com.unboundid.util.ssl.PromptTrustManager
com.unboundid.util.ssl.HostNameTrustManager
com.unboundid.util.ssl.ValidityDateTrustManager
Run Code Online (Sandbox Code Playgroud)
我不希望任何用户交互,以及我在TrustManager上面列出的验证证书颁发者的内容.
另外,我不想在任何密钥库中插入LDAP服务器证书,因此我无法使用以下TrustManagers:
com.unboundid.util.ssl.WrapperKeyManager
com.unboundid.util.ssl.PKCS11KeyManager
com.unboundid.util.ssl.KeyStoreKeyManager
Run Code Online (Sandbox Code Playgroud)
我想做类似下面的代码:
CertificateFactory cf = CertificateFactory.getInstance("X.509");
Certificate cert = cf.generateCertificate(byteArrayInputStream);
SSLUtil sslUtil = new SSLUtil(new CertificateTrustManager(cert));
SSLSocketFactory socketFactory = sslUtil.createSSLSocketFactory();
LDAPConnection connection = new LDAPConnection(socketFactory,
"server.example.com", 636);
Run Code Online (Sandbox Code Playgroud)
请注意,UnboundID SDK中不存在CertificateTrustManager.怎么可能这样做?
我们在Python中相对较新,因此可能是问题太简单了。我们正在使用Python版本2.7.15。
我们试图在TLS上使用Python失败。
这是我们的代码:
import ssl,socket
import urllib2
context = ssl.SSLContext(ssl.PROTOCOL_TLS)
context.verify_mode = ssl.CERT_REQUIRED
context.check_hostname = False
context.load_verify_locations("/py-test/python/bin/certificate.pem")
url = "https://10.0.0.12"
request = urllib2.Request(url)
websocket = urllib2.urlopen(request,None,None,None,None,None,context)
pages=websocket.readlines()
print pages
Run Code Online (Sandbox Code Playgroud)
如您所见,我们已经配置 context.check_hostname = False
不幸的是,它失败并带有以下异常
Traceback (most recent call last):
File "./test.py", line 11, in <module>
websocket = urllib2.urlopen(request,None,None,None,None,None,context)
File "/py-test/python/lib/python2.7/urllib2.py", line 154, in urlopen
return opener.open(url, data, timeout)
File "/py-test/python/lib/python2.7/urllib2.py", line 429, in open
response = self._open(req, data)
File "/py-test/python/lib/python2.7/urllib2.py", line 447, in _open
'_open', req)
File "/py-test/python/lib/python2.7/urllib2.py", line 407, …Run Code Online (Sandbox Code Playgroud) 我们在同一个SVN存储库中有一个包含两个子项目的项目.例如:
svn://ip/svn/ trunk/subproject1
svn://ip/svn/ trunk/subproject2
Run Code Online (Sandbox Code Playgroud)
项目的构建应包括两个子项目的构建结果.为了使我们的构建更快,我想分别在SVN被更改时(在svn:// ip/svn/trunk/subproject1中)运行subproject1的构建.对于子项目2也是如此
最好的方法是什么?我可以用一份工作吗?在这种情况下,我应该如何定义构建触发器?
或者我需要定义3个工作:每个子项目一个或每个项目一个?
任何帮助将不胜感激!最好的问候,迈克尔
在 PostgreSQL 文档中描述了为 SSL 支持构建 PostgreSQL 所需的内容:
http://www.postgresql.org/docs/9.1/static/ssl-tcp.html
PostgreSQL 安装是否有可能从某些 CentoOS 存储库中支持 SSL 开箱即用?如何检查 PostgreSQL 安装是否支持 SSL?
我无法在SO上找到答案(例如,这里 。SpringSecurity:类扩展BasicAuthenticationEntryPoint中的Commence方法,没有被调用)
我只想覆盖BasicAuthenticationEntryPoint而不覆盖其他过滤器和其他人员:
<bean id="authenticationEntryPoint" name="authenticationEntryPoint"
class="com.myclass.BasicAuthenticationEntryPoint">
<property name="realmName" value="myapp" />
</bean>
Run Code Online (Sandbox Code Playgroud)
不幸的是,它不起作用,我需要配置过滤器。
<security:http auto-config="true" ..
<sec:custom-filter ref="basicAuthenticationFilter"
before="BASIC_AUTH_FILTER" />
</sec:http>
<bean id="basicAuthenticationFilter"
class="org.springframework.security.web.authentication.www.BasicAuthenticationFilter">
<constructor-arg name="authenticationManager" ref="authenticationManager" />
<constructor-arg name="authenticationEntryPoint" ref="authenticationEntryPoint" />
</bean>
Run Code Online (Sandbox Code Playgroud)
然后我有这个警告。
WARN 2015-10-29 09:44:05,330 [localhost-startStop-1::DefaultFilterChainValidator] [user:system] Possible error: Filters at position 2 and 3 are both instances of org.springframework.security.web.authentication.www.BasicAuthenticationFilter
Run Code Online (Sandbox Code Playgroud)
因此,我需要禁用自动配置,但我不想这样做:
<security:http auto-config="false" ...
Run Code Online (Sandbox Code Playgroud)
在SpringSecurity 4中重写BasicAuthenticationEntryPoint的最简单方法是什么?
昨天宣布了反序列化漏洞(CVE-2015-4852):
https://blogs.apache.org/foundation/entry/apache_commons_statement_to_widespread
SpringFramework使用commons.collections.
如果SpringFramework使用InvokerTransformer,它可能容易受到反序列化漏洞(CVE-2015-4852)的攻击.
问题是SpringFramework使用来自commons.collections的InvokerTransformer?
ssl ×3
liquibase ×2
centos ×1
httpsession ×1
java ×1
jenkins ×1
ldap ×1
multi-tenant ×1
postgresql ×1
python ×1
python-2.7 ×1
session ×1
spring ×1
sql ×1
transactions ×1