我可以在忍者框架或Spark框架中使用Spring Security或Shiro Security吗?我找不到任何示例来将此安全框架与web框架集成。在忍者网站上没有任何关于用户身份验证和web应用安全的信息。
发布于 2014-09-04 15:40:04
Spark有过滤器的概念。http://sparkjava.com/documentation.html#filters因此您可以添加Shiro或Spring Security筛选器。也就是说,这并不像为这两个安全框架添加筛选器那么简单。但理论上..。
发布于 2015-07-28 04:00:17
这个问题已经很老了,但是我找不到任何集成Apache Shiro和忍者框架的例子,所以这里是我对此的发现。
忍者框架需要一个AbstractModule实例,当你尝试类似于推荐的here配置时,它会显示一个错误
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,所以这应该可以工作,至少我没有得到编译错误:
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");
}
});
}
}发布于 2021-02-25 19:37:34
如果您想保护web restful api,建议使用secure https://github.com/tomsun28/sureness
它不是特定的框架依赖项(支持springboot、quarkus、javalin、ktor等)。
确保的本质是拦截所有的rest请求以进行身份验证和授权。
拦截器可以是过滤器或spring拦截器,它拦截所有请求以检查它们。
您需要知道的是,sureness是我们创建的一个项目,欢迎使用。
https://stackoverflow.com/questions/25630716
复制相似问题