我需要在最新版本中使用容器托管的安全性和身份验证
项目。我有几个关于如何配置
凭证处理程序。
有人提供了NestedCredentialHandler的示例声明,其中包括
声明的算法属性。自Digest属性以来,我需要知道
在Realms中已被弃用。 我在网上找不到任何示例,
我完全感到困惑。
MessageDigestCredentialHandler
和SecretKeyCredentialHandler
哪个更安全? SecretKeyCredentialHandler
仅在系统中指定一种算法documentation是
PBKDF2WithHmacSHA1
。还有哪些其他算法可用的 ?
最佳答案
为了回答第一点,这是在切换到Tomcat 8之前和之后来自context.xml的<Realm>
的比较:
之前:
<Realm className="org.apache.catalina.realm.DataSourceRealm"
dataSourceName="jdbc/myDataSource"
roleNameCol="role" userCredCol="password" userNameCol="loginid"
digest="md5"
userRoleTable="userroles" userTable="users"
localDataSource="true" />
之后:
<Realm className="org.apache.catalina.realm.DataSourceRealm"
dataSourceName="jdbc/myDataSource"
roleNameCol="role" userCredCol="password" userNameCol="loginid"
userRoleTable="userroles" userTable="users" localDataSource="true">
<CredentialHandler
className="org.apache.catalina.realm.MessageDigestCredentialHandler"
algorithm="md5" />
</Realm>