簡體   English   中英

Amdatu令牌提供者

[英]Amdatu TokenProvider

您好一直在看在此ShowCase上可以看到使用Amdatu framwork構建的osgi webapp的示例,即使每次服務實例始終為null時,實現都與示例完全相同。 另外,我已經閱讀了有關安全模塊Amdatu的文檔,但無法對其進行配置,是否有人對如何使用TokenProvider進行了演練?

謝謝

ShowCase鏈接

Amdatu安全文檔

當執行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

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM