Java 什么';身份验证约束和安全角色之间的区别是什么?

Java 什么';身份验证约束和安全角色之间的区别是什么?,java,security-constraint,Java,Security Constraint,这两者之间的区别是什么: <auth-constraint><role-name>tomcat</role-name></auth-constraint> tomcat 以及: tomcat 在安全约束声明中 例如,如果我在下面定义基本身份验证,我应该使用哪个 <login-config><auth-method>BASIC</auth-method></login-config> BASIC

这两者之间的区别是什么:

<auth-constraint><role-name>tomcat</role-name></auth-constraint>
tomcat
以及:

tomcat
在安全约束声明中

例如,如果我在下面定义基本身份验证,我应该使用哪个

<login-config><auth-method>BASIC</auth-method></login-config>
BASIC

基本区别在于由auth方法处理的身份验证机制之间的区别-身份验证是应用程序确认“你真的是你所说的人吗?”-身份验证机制可以有多种类型,但有一些是标准servlet容器开箱即用支持的-您指出的一种是基本的-这是提示浏览器提示对话框进行登录的原因-这在理想情况下不应在prod场景中使用,因为它以纯文本传输您的凭据对于服务器来说,它在我所知道的任何浏览器中都是不可自定义的。通常在产品场景中,表单与在服务器或其他基础架构层设置SSL一起使用。表单是高度可定制的,并且在使用servlet web容器身份验证的开箱即用特性时最受欢迎


角色名是一种抽象,应用程序代码最终将使用它执行授权。“好的,那么你就是你所说的你,但是你被允许访问这个页面、按钮或web应用程序吗?”-应用程序如何在内部处理这个问题在这里不是一个问题,而是这里有并且涉及到的问题。下面是一种通过编程实现此目的的方法-

上的第一个链接是否不能正确解决此问题?@LittleBobbyTables它可以,但它已经8年了,如果我需要这两个链接进行基本身份验证,它就不能解决此问题。用Tomcat测试,它似乎需要定义两者,所以我不太明白为什么。
<login-config><auth-method>BASIC</auth-method></login-config>