【发布时间】:2012-02-07 20:42:29
【问题描述】:
我正在玩弄 servlet 的 tomcat 安全性。在我的 server.xml 中有
<Realm className="org.apache.catalina.realm.UserDatabaseRealm"
resourceName="UserDatabase"
digest="SHA"/>
在我的 tomcat-users.xml 中
<user username="zenon" password="qazxsw" roles="proby"/>
<user username="andrzej" password="1c29cf0ceb89afce131e27b76c18af1e9cf7f5e3" roles="admin-gui,manager-gui,proby,role1"/>
非常简单的应用程序的web.xml
<security-constraint>
<display-name>No Pasaran</display-name>
<web-resource-collection>
<web-resource-name>Tylko dla memberow</web-resource-name>
<url-pattern>/*</url-pattern>
</web-resource-collection>
<auth-constraint>
<role-name>proby</role-name>
<role-name>role1</role-name>
</auth-constraint>
</security-constraint>
<login-config>
<auth-method>BASIC</auth-method>
<realm-name>UserDatabase</realm-name>
</login-config>
所以当 auth-method 是 BASIC 时,我可以使用用户名:andrzej 和密码:qazxsw 登录(andrzej 的这个长密码是 qazxsw 的 SHA)所以现在当我发送密码时,他似乎在比较之前已经消化了它。 我想是这样,因为当我使用 DIGEST 作为身份验证方法时我无法登录,他是否在比较密码之前消化了两次密码? 如果是,还有其他方法,那么 https 可以在容器级别保护这些东西吗?
【问题讨论】:
-
请将您的第二个问题作为一个单独的问题发布 - 它们不相关
-
还有一个提示 - 用 Java 标签标记你的 Java 相关问题 - 它将允许更多人查看它