如何在 Java Web 应用程序中创建灵活的身份验证机制

问题描述

我需要向 Web 应用程序添加身份验证。我看过很多关于这个主题文章、教程和其他帖子,包括以下内容

https://docs.oracle.com/javase/7/docs/technotes/guides/security/jaas/tutorials/GeneralAcnOnly.html#RunAc

https://dzone.com/articles/java-web-application-security

https://docs.oracle.com/cd/E19575-01/819-3669/bncck/index.html

https://developer.okta.com/blog/2019/07/22/servlet-authentication

https://docs.oracle.com/javaee/6/tutorial/doc/gkbaa.html

还有这个,但它只对一个页面进行身份验证,而不是对整个 Web 应用程序进行身份验证,不可否认,它并不是真正适用于生产应用程序的解决方案:

https://examples.javacodegeeks.com/enterprise-java/servlet/java-servlet-authentication-example/

我发现的所有方法都使用 Web 服务器(JBoss、Glassfish、Jetty 等)中定义的属性文件或 Web 服务器配置中定义的 sql 查询

是否有一种方法可以在 Java Web 应用程序中实现身份验证,使其可在 Web 应用程序中进行配置(例如,创建一个在尝试访问服务时调用的类)?

我希望能够实现可以轻松修改的身份验证逻辑。例如,我想先实现硬编码身份验证(如果 uid=="scott" && pwd="tiger"),然后将实现更改为使用 uid/pwd 的数据库查找,然后将实现更改为使用 Oauth2或其他 SSO 方法)。

解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)