gpt4 book ai didi

java - Spring Boot 桌面独立应用程序中的 Apache Shiro

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

我曾经在桌面独立应用程序中成功实现了 Apache Shiro(没有 Spring 框架或任何与此相关的框架)。

我使用 INI 文件来获取 SecurityManager ,如下所示:

Factory<org.apache.shiro.mgt.SecurityManager> factory = new IniSecurityManagerFactory(
"classpath:resources/shiro.ini");
org.apache.shiro.mgt.SecurityManager securityManager = factory.getInstance();
SecurityUtils.setSecurityManager(securityManager);
Subject currentUser = SecurityUtils.getSubject();

我在 stackoverflow 的一篇文章中读到,在使用 spring 时不建议使用 shiro INI。

就我而言,现在我在此应用程序中使用 Spring Boot 和 Spring Data JPA 以及 Hibernate。配置 Apache Shiro 的最佳方式是什么,以便我可以最大限度地利用这个安全框架。

编辑

我遇到的所有示例都显示了网络示例。我专门需要独立应用程序。示例将受到高度赞赏。

解决方案

经过这篇文章的大量学习和回答,我设法想出了 this solution并创建了 github 存储库。如果有人希望做得更好,请成为我的客人。

最佳答案

据我了解,如果您正在开发基于 Web 的应用程序或独立应用程序,则不会嘀咕,除非用于 Webfilters official Apache shiro doc正如您在此处看到的,此示例展示了如何为基于 Web 和独立的 apache shiro 正确配置。

您仍然可以使用基于 xml 的配置,as is described here使用 Spring Boot,可以使用诸如 或 constructor-args 之类的标签轻松将配置从 INI 文件迁移到 XML,如下所示 spring xsd doc

在我看来,使用 INI 文件或基于 XML 的配置有类似的优点和缺点,在这两种方法中你都可以“热交换”bean 配置。

例如,如果您可以轻松使用 Java 或在代码上配置 Shiro,您可以查看此 github link您可以在其中看到 apache Shiro spring-boot 应用程序的示例类配置。

忘记网络过滤器并配置其他 bean,因为在此链接上它应该可以正常工作。

据我所知,谈论在 Spring Boot 中使用 xml 或类配置没有好坏之分,这仅取决于您的需求。

最后,我编写了一个简单的示例 Spring-boot-standalone with shiro.为了让您演示​​基于 XML 的配置,这将打印领域 bean 以显示上下文已启动,并已注释代码来满足您的需求,其余部分必须使用 shiro 网页教程来完成 bean。

问候。

关于java - Spring Boot 桌面独立应用程序中的 Apache Shiro,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38418983/

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