首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Shiro或Spring安全与忍者框架或Spark

Shiro或Spring安全与忍者框架或Spark
EN

Stack Overflow用户
提问于 2014-09-03 03:17:57
回答 3查看 1.4K关注 0票数 1

我可以在忍者框架或Spark框架中使用Spring Security或Shiro Security吗?我找不到任何示例来将此安全框架与web框架集成。在忍者网站上没有任何关于用户身份验证和web应用安全的信息。

EN

回答 3

Stack Overflow用户

发布于 2014-09-04 15:40:04

Spark有过滤器的概念。http://sparkjava.com/documentation.html#filters因此您可以添加Shiro或Spring Security筛选器。也就是说,这并不像为这两个安全框架添加筛选器那么简单。但理论上..。

票数 1
EN

Stack Overflow用户

发布于 2015-07-28 04:00:17

这个问题已经很老了,但是我找不到任何集成Apache Shiro和忍者框架的例子,所以这里是我对此的发现。

忍者框架需要一个AbstractModule实例,当你尝试类似于推荐的here配置时,它会显示一个错误

代码语言:javascript
复制
package conf;

import com.google.inject.AbstractModule;
import com.google.inject.Provides;
import org.apache.shiro.config.Ini;
import org.apache.shiro.realm.text.IniRealm;
import org.apache.shiro.guice.ShiroModule;

class Module extends ShiroModule {
    protected void configureShiro() {
        try {
            bindRealm().toConstructor(IniRealm.class.getConstructor(Ini.class));
        } catch (NoSuchMethodException e) {
            addError(e);
        }
    }

    @Provides
    Ini loadShiroIni() {
        return Ini.fromResourcePath("classpath:shiro.ini");
    }
}

然而,检查ShiroModule类的源代码时,我注意到它扩展了PrivateModule,所以这应该可以工作,至少我没有得到编译错误:

代码语言:javascript
复制
package conf;

import com.google.inject.AbstractModule;
import com.google.inject.Provides;
import org.apache.shiro.config.Ini;
import org.apache.shiro.realm.text.IniRealm;
import org.apache.shiro.guice.ShiroModule;

public class Module extends AbstractModule
{
    @Override
    protected void configure()
    {
        install(new ShiroModule()
        {
            @Override
            protected void configureShiro()
            {
                //shiro recomended configuration
                try {
                    bindRealm().toConstructor(IniRealm.class.getConstructor(Ini.class));
                } catch (NoSuchMethodException e) {
                    addError(e);
                }
            }

            @Provides
            Ini loadShiroIni()
            {
                return Ini.fromResourcePath("classpath:shiro.ini");
            }
        });
    }
}
票数 1
EN

Stack Overflow用户

发布于 2021-02-25 19:37:34

如果您想保护web restful api,建议使用secure https://github.com/tomsun28/sureness

它不是特定的框架依赖项(支持springboot、quarkus、javalin、ktor等)。

确保的本质是拦截所有的rest请求以进行身份验证和授权。

拦截器可以是过滤器或spring拦截器,它拦截所有请求以检查它们。

您需要知道的是,sureness是我们创建的一个项目,欢迎使用。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/25630716

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档