gpt4 book ai didi

java - Amdatu token 提供商

转载 作者:行者123 更新时间:2023-12-01 12:22:23 25 4
gpt4 key购买 nike

您好,一直在查看使用 Amdatu framwork 构建的 osgi webapp 示例,可以在 ShowCase 找到。即使每次服务实例始终为空时,实现的执行情况与示例完全相同。我还阅读了 security module Amdatu 上的文档但无法配置它,有没有人有关于如何使用 TokenProvider 的演练?

谢谢

ShowCase Link

Amdatu Security Doc

当执行 dm notavail 命令时,我得到:

[1] agenda.web.filters
javax.servlet.Filter(pattern=/*.*) unregistered
org.amdatu.security.tokenprovider.TokenProvider service required unavailable
[15] org.amdatu.security.tokenprovider.impl
org.amdatu.security.tokenprovider.TokenProvider unregistered
org.amdatu.security.tokenprovider configuration required available
org.amdatu.security.tokenprovider.TokenStorageProvider service required unavailable
org.osgi.service.log.LogService service optional (not tracking)
[16] org.amdatu.security.tokenstorage.mongo
org.amdatu.security.tokenprovider.TokenStorageProvider, org.amdatu.security.tokenstorage.mongo.ExpiredTokenPurger unregistered
org.amdatu.mongo.MongoDBService service required unavailable
org.osgi.service.log.LogService service optional (not tracking)
org.quartz.Job unregistered
org.amdatu.security.tokenstorage.mongo.ExpiredTokenPurger service required unavailable
org.osgi.service.log.LogService service optional (not tracking)

我的激活器是这样的:

import java.util.Properties;

import javax.servlet.Filter;

import org.amdatu.security.tokenprovider.TokenProvider;
import org.apache.felix.dm.DependencyActivatorBase;
import org.apache.felix.dm.DependencyManager;
import org.osgi.framework.BundleContext;
import org.osgi.service.log.LogService;

import agenda.web.filters.teste.AdminLoginResource;
import agenda.web.filters.teste.RedirectFilter;
import agenda.web.filters.teste.SecurityFilter;

public class Activator extends DependencyActivatorBase {

@Override
public void init(BundleContext arg0, DependencyManager dm)
throws Exception {

Properties properties = new Properties();
properties.put("pattern", "/*.*");
dm.add(createComponent()
.setInterface(Filter.class.getName(), properties)
.setImplementation(SecurityFilter.class)
.add(createServiceDependency().setService(TokenProvider.class).setRequired(true))
.add(createServiceDependency()
.setService(LogService.class)
.setRequired(false)));

}

@Override
public void destroy(BundleContext arg0, DependencyManager arg1)
throws Exception {
// TODO Auto-generated method stub

}

}

最佳答案

从DM的输出来看,似乎是MongoDbService不可用的问题。 MongoDbService 是由托管服务工厂创建的,因此您可能缺少它的配置。至少应该配置一个“dbName”,请参阅此处的更多文档:http://amdatu.org/components/mongodb.html

关于java - Amdatu token 提供商,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26580919/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com