有没有办法配置Tomcat 8.5或9,允许用户使用用户名或电子邮件地址登录?
如果这能解决问题,我愿意考虑使用第三方安全容器。
当前使用Tomcat JDBC Realm,但仅使用用户名。看不到修改此Realm以允许用户名或电子邮件地址的方法。
看看允许多种身份验证机制的Combined Realm。在您的情况下,您可能需要2个DataSourceRealm(而不是2个JDBC Realm(访问同一个表,但使用不同的userNameCol参数。
值得注意的是,您可以混合基于层(数据库、LDAP(的身份验证和基于本地文件(UserDatabaseRealm(的身份认证。然后,即使您的数据库关闭,并且所有应用程序对其他用户来说都已失效,您仍然可以使用管理员用户登录。如果有些东西不需要数据库,您仍然可以工作。