簡體   English   中英

Spring Boot桌面獨立應用程序中的Apache Shiro

[英]Apache Shiro in Spring Boot Desktop Standalone Application

我曾經在桌面獨立應用程序(沒有Spring框架或任何與此相關的框架)中成功實現Apache Shiro。

我使用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的最佳方法是什么,這樣我就可以最大程度地利用此安全框架。

編輯

我遇到的所有示例均顯示了網絡示例。 我特別需要獨立應用程序。 實例將不勝感激。

經過大量的學習和從這篇文章的答案,我設法提出了這個解決方案,並創建了github回購。 如果有人希望做得更好,請成為我的客人。

據我了解,無論您是在開發基於Web的應用程序還是開發獨立應用程序,都不會喃喃自語,除非您可以在此處看到webfilters 官方Apache shiro doc的示例,否則,該示例說明如何為基於Web的應用程序和獨立應用程序正確配置apache shiro 。

您仍然可以使用基於xml的配置, 如此處在 spring boot中所描述的 ,並且可以使用諸如或constructor-args之類的標記輕松地將配置從INI文件遷移到XML,如下所示spring xsd doc

在我看來,使用INI文件或基於XML的配置有很多優點和缺點,在這兩種方法中,您都可以“熱交換” bean配置。

例如,如果您很容易使用Java或在代碼上配置Shiro,則可以查看此github 鏈接 ,在該鏈接中可以看到apache Shiro spring-boot應用程序的示例類配置。

不用理會Web過濾器並配置其他bean,因為在此鏈接上它應該可以正常工作。

據我所知,關於在Spring Boot中使用xml或類配置並沒有很好的討論方法,而這取決於您的需求。

最后,我用shiro編寫了一個簡單的Spring-boot-standalone示例 為了演示基於XML的配置,此命令將打印領域bean,以顯示上下文已啟動,並且已注釋了代碼,可以滿足您的需求,其余的必須通過shiro網頁教程來完成。

賀禮。

您可以使用yml文件將shiro配置與應用程序屬性一起添加。 舉個例子,看看https://github.com/johntostring/spring-boot-shiro

暫無
暫無

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

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