为了账号安全,请及时绑定邮箱和手机立即绑定

未考虑登录/角色后的 JDBC Tomcat 身份验证 403

未考虑登录/角色后的 JDBC Tomcat 身份验证 403

森栏 2023-02-16 17:17:50
我已经像下面这样设置了我的环境,但在登录后它说访问被拒绝,就像角色设置不正确一样。这里有一些信息:我使用 BASIC 身份验证,只要输入错误的用户名或密码,浏览器登录表单就会重新出现。当我输入正确的用户名并传递它时,它消失了,我收到了拒绝访问的消息如果我配置<role-name>*</role-name>我没有得到 403 并且在登录后我可以访问受保护的页面控制台不显示任何错误信息网站.xml    <security-role>        <role-name>USER</role-name>    </security-role>    <security-role>        <role-name>ADMIN</role-name>    </security-role>     <!--<security-role>    <role-name>*</role-name>    </security-role>-->        <security-constraint>        <display-name>IndexPage</display-name>        <web-resource-collection>            <web-resource-name>start</web-resource-name>            <url-pattern>/pages/protected/*</url-pattern>        </web-resource-collection>        <auth-constraint>        <!--<role-name>*</role-name> -->            <role-name>USER</role-name>            <role-name>ADMIN</role-name>        </auth-constraint>    </security-constraint>        <login-config>        <auth-method>BASIC</auth-method>    </login-config>服务器.xml<Engine defaultHost="localhost" name="Catalina"><Realm className="org.apache.catalina.realm.JDBCRealm"connectionURL="jdbc:mysql://localhost:3306/jsfdb?user=root"driverName="com.mysql.jdbc.Driver"roleNameCol="role_name" userCredCol="password"userNameCol="username1"userRoleTable="user_role"userTable="user"/>数据库user数据user_role数据
查看完整描述

1 回答

?
守着一只汪

TA贡献1872条经验 获得超3个赞

问题是在 user_role 表的用户名字段中,用户表的主键值是。预期是实际用户名,所以我修复了它,将 PK 从 id 更改为用户名。数据库现在看起来像这样:

//img1.sycdn.imooc.com//63edf50b0001a1db06550220.jpg

上帝我讨厌Java



查看完整回答
反对 回复 2023-02-16
  • 1 回答
  • 0 关注
  • 83 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信