buji-pac4j项目是Shiro web应用程序和web服务的一个简单而强大的安全库,它支持身份验证和授权,但也支持高级功能,如CSRF保护。它基于Java8、Shiro1.5和pac4j安全引擎v4。它在Apache2许可证下可用。

主要概念和组成部分:

  1. 客户端表示身份验证机制。它执行登录过程并返回用户配置文件。间接客户端用于web应用程序身份验证,而直接客户端用于web服务身份验证:

▸OAuth-SAML-CAS-OpenID Connect-HTTP-OpenID-Google App Engine-Kerberos-LDAP-SQL-JWT-MongoDB-CouchDB-IP地址-REST-API

  1. 授权人用于检查已验证用户配置文件或当前web上下文的授权:

▸角色/权限-匿名remember-me/(完全)身份验证-配置文件类型,属性-CORS-CSRF-安全标头-IP地址,HTTP方法

  1. matcher定义是否必须应用SecurityFilter并将其用于其他web处理
  2. SecurityFilter根据客户机和授权者的配置,通过检查用户是否经过身份验证以及授权是否有效,来保护url。如果用户没有经过身份验证,它将对直接客户端执行身份验证,或者为间接客户端启动登录过程
  3. CallbackFilter完成间接客户机的登录过程
  4. LogoutFilter从应用程序注销用户,并在身份提供者级别触发注销

Usage

1) 添加所需的依赖项

2) Define:

-安全配置

-仅用于回调的web应用程序

-注销配置

3) 应用安全性

4) 获取经过身份验证的用户配置文件

Demo

演示的webapp:buji-pac4j-demo可用于测试并实现许多身份验证机制:Facebook、Twitter、form、basic auth、CAS、SAML、OpenID Connect、JWT。。。

Versions

最新发布的版本是,可从Maven中央存储库中获得。下一个版本正在开发中。

请参阅发行说明。通过浏览pac4j文档和buji-pac4jJavadoc了解更多信息。

请参见迁移指南。

Need help?

如果您需要商业支持(特优支持或新的/特定功能),请通过info@pac4j.org。

如果您有任何问题,希望提供新版本和安全修补程序的信息,请订阅以下邮件列表:

  • pac4j-users
  • pac4j-developers
  • pac4j-announce
  • pac4j-security