简体   繁体   English

Amdatu令牌提供者

[英]Amdatu TokenProvider

Hello been looking at the example of osgi webapp built with Amdatu framwork is available at this ShowCase even though an implementation performing exactly like the example every time the service instance is always null. 您好一直在看在此ShowCase上可以看到使用Amdatu framwork构建的osgi webapp的示例,即使每次服务实例始终为null时,实现都与示例完全相同。 Also I had read the documentation on the security module Amdatu but was unable to configure it, does anyone have a walkthrough on how to use the TokenProvider is made? 另外,我已经阅读了有关安全模块Amdatu的文档,但无法对其进行配置,是否有人对如何使用TokenProvider进行了演练?

Thank you 谢谢

ShowCase Link ShowCase链接

Amdatu Security Doc Amdatu安全文档

When execute dm notavail command i gets: 当执行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)

My Activator is this: 我的激活器是这样的:

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

    }

}

Looking at the output of DM it seems to be the problem that the MongoDbService is not available. 查看DM的输出,似乎是MongoDbService不可用的问题。 The MongoDbService is created by a Managed Service Factory, so you are probably missing it's configuration. MongoDbService由托管服务工厂创建,因此您可能缺少它的配置。 At least a "dbName" should be configured, see more docs here: http://amdatu.org/components/mongodb.html 至少应配置一个“ dbName”,在这里查看更多文档: http : //amdatu.org/components/mongodb.html

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM