我正在研究多租户申请。我在hibernate4中使用spring security。 我将tenantidentifier放在loginform中的threadlocal中并将其放入存储库中。 这在谷歌浏览器上工作正常,但在Internet Explorer上它在存储库中返回null。
public class ThreadLocalContextUtil {
private static final ThreadLocal<String> contextHolder =
new ThreadLocal<String>();
public static void setTenantId(String tenantId) {
Assert.notNull(tenantId, "tenantId cannot be null");
contextHolder.set(tenantId);
}
public static String getTenantId() {
return (String) contextHolder.get();
}
public static void clearTenant() {
contextHolder.remove();
}
}
我唯一能想到的是IE在用户登录时启动一个新线程。