我正在为一系列共享相同用户的 Web 应用程序创建一个用户存储库 ldap 后端。我想在这个 ldap 位置存储偏好信息。这样,与用户相关的所有内容都保存在同一个地方,并且可以在所有应用程序之间共享。
我正在考虑这样的一般结构:
ou=人,dc=域,dc=com
uid=jdoe,ou=People,dc=domain,dc=com
ou=Preferences,uid=jdoe,dc=domain,dc=com
ou=firstpreference,ou=Preferences,uid=jdoe,dc=domain,dc=com
值:123
值:456
我有几个问题:
用户条目下方的 jsut 是开始存储首选项的正确位置吗?这个条目应该是什么对象类?我正在尝试组织单位,但似乎不对。
为首选项存储名称值对的最佳方法是什么?在这里,我最好的客人是在具有名称的首选项下方创建一个条目,并在其下方创建值。这样我就可以考虑多个值。这些条目的正确 objectClass 应该是什么?
我正在使用 OpenLDAP 并且不想更改它附带的模式。有没有办法使用可用的模式进行设置?
我有这个简单的perl守护进程:
#!/usr/bin/perl
use strict;
use warnings;
use Proc::Daemon;
Proc::Daemon::Init;
my $continue = 1;
$SIG{TERM} = sub { $continue = 0 };
$SIG{USR1} = sub { do_process(1) };
# basic daemon
boxesd_log("started boxesd");
while ($continue) {
do_process(0);
sleep(30);
}
boxesd_log("finished boxesd");
exit(0);
# required subroutines
sub do_process {
my ($notified) = @_;
boxesd_log("doing it $notified");
}
Run Code Online (Sandbox Code Playgroud)
但有些事情是行不通的.
守护程序启动时,它会每30秒记录一次,而不会发出预期的通知:
Sat Oct 30 21:05:47 2010 doing it 0 Sat Oct 30 21:06:17 2010 doing it 0 Sat Oct 30 21:06:47 2010 doing it …
我刚刚创建了一个使用axis和eclipse的Web服务客户端,它不能与我的Web服务提供者一起使用.Web服务客户端创建的消息如下所示:
<?xml version="1.0" encoding="UTF-8"?>
<soapenv:Envelope
xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/"
xmlns:xsd="http://www.w3.org/2001/XMLSchema"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
<soapenv:Body>
<enviarMensajeRequest
xmlns="http://www.springframework.org/spring-ws/Imk-Zenkiu-Services">
<usuario>someuser</usuario>
<clave>somepassword</clave>
<mensaje>somemessage</mensaje>
<contacto>
<buzonSMS>somenumber</buzonSMS>
<primerNombre>somefirstname</primerNombre>
<primerApellido>somelastname</primerApellido>
</contacto>
</enviarMensajeRequest>
</soapenv:Body>
</soapenv:Envelope>
Run Code Online (Sandbox Code Playgroud)
我发现该消息没有错,但我的提供者坚持认为该消息应该是:
<?xml version="1.0" encoding="UTF-8"?>
<soapenv:Envelope
xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/"
xmlns:xsd="http://www.w3.org/2001/XMLSchema"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xmlns:imk="http://www.springframework.org/spring-ws/Imk-Zenkiu-Services">
<soapenv:Body>
<imk:enviarMensajeRequest>
<imk:usuario>someuser</imk:usuario>
<imk:clave>somepassword</imk:clave>
<imk:mensaje>somemessage</imk:mensaje>
<imk:contacto>
<imk:buzonSMS>somenumber</imk:buzonSMS>
<imk:primerNombre>somefirstname</imk:primerNombre>
<imk:primerApellido>somelastname</imk:primerApellido>
</imk:contacto>
</imk:enviarMensajeRequest>
</soapenv:Body>
</soapenv:Envelope>
Run Code Online (Sandbox Code Playgroud)
注意命名空间声明从参数移动enviarMensajeRequest到参数soapenv:Envelope和限定条件imk:.我在这个过程中尝试了很多组合,但我的web服务,wsdl和xml知识非常有限.提供者说他们无法告诉我这件事.有任何想法吗?也许我可以使用不同的框架来创建正确的客户端.
我需要知道tomcat何时接受针对给定上下文使用域认证的登录.我一直在寻找可用的可用侦听器(ServletContextListener和ServletContextAttributeListener),但无法弄清楚如何在登录时收到通知.对于多个上下文使用tomcat单点登录时,这也应该有效.有任何想法吗?
我一直在使用modulino perl模式,并且想要在不知道包名称的情况下加载一个,并且只知道它所在的文件.我正在寻找可以像这样使用的东西:
eval {
my $file = "some-file-name-in-the-hierarchy-unrelated-to-package-name";
my $module = something($file);
$module->sub1();
};
Run Code Online (Sandbox Code Playgroud)
这something是关键.不,require或者use之后我需要模块名称.我是否必须阅读$file并解析其中的package名称才能使用它?我可以肯定有更好的方法.perl总是存在.
我有一个计时器线程,需要在一天中的特定时刻运行,以便与数据库进行增量复制.现在它在小时,小时15分钟,小时30分钟和小时45分钟之间运行.这是我的代码,它正常工作:
public class TimerRunner implements Runnable {
private static final Semaphore lock = new Semaphore(1);
private static final ScheduledExecutorService executor = Executors.newSingleThreadScheduledExecutor();
public static void initialize() {
long delay = getDelay();
executor.schedule(new TimerRunner(), delay, TimeUnit.SECONDS);
}
public static void destroy() {
executor.shutdownNow();
}
private static long getDelay() {
Calendar now = Calendar.getInstance();
long p = 15 * 60; // run at 00, 15, 30 and 45 minutes past the hour
long second = now.get(Calendar.MINUTE) * 60 + now.get(Calendar.SECOND);
return p …Run Code Online (Sandbox Code Playgroud)