当前位置: 首页 > 知识库问答 >
问题:

hasRole()不工作错误Http状态403-访问被拒绝

龚迪
2023-03-14
<security:http use-expressions="true">
    <security:intercept-url pattern="/adminarea"
        access="hasRole('admin')" />
    <security:intercept-url pattern="/logincheck"
        access="permitAll" />
    <security:intercept-url pattern="/newaccount"
        access="permitAll" />
    <security:intercept-url pattern="/createnewaccount"
        access="permitAll" />
    <security:intercept-url pattern="/home"
        access="isAuthenticated()" />
    <security:intercept-url pattern="/static/**"
        access="permitAll" />
    <security:intercept-url pattern="/" access="permitAll" />
    <security:intercept-url pattern="/**" access="denyAll" />
    <security:form-login login-page="/"
        authentication-failure-url="/?error=true" default-target-url="/home" />
</security:http>
<security:authentication-manager>
    <security:authentication-provider>
        <security:jdbc-user-service
            data-source-ref="dataSource" />
    </security:authentication-provider>
</security:authentication-manager>
<sec:authentication property="principal"/>
<sec:authorize access="hasRole('admin')">
    <a href="${pageContext.request.contextPath}/adminarea">Admin Area</a>
</sec:authorize>

共有1个答案

栾鸣
2023-03-14

我假设您已经创建了以下表

  create table users(
      username varchar_ignorecase(50) not null primary key,
      password varchar_ignorecase(50) not null,
      enabled boolean not null);

  create table authorities (
      username varchar_ignorecase(50) not null,
      authority varchar_ignorecase(50) not null,
      constraint fk_authorities_users foreign key(username) references users(username));
      create unique index ix_auth_username on authorities (username,authority);

这是应用程序上下文XML中的上述身份验证管理器配置所需的。

并且您已将角色admin插入到authorities表中。

 类似资料:
  • 登录成功,但即使我允许访问USER,Spring安全也会阻止url。我如何管理这个东西? 登录控制器。JAVA 1.登录成功后,页面重定向到欢迎页面,但url仍然是localhost:8080/Login,而不是localhost:8080/welcome。 2.重定向到URL localhost:8080/sales后,403访问被拒绝。

  • 我已经将Spring security添加到我的项目中,并将其配置为 我有没有搞错。

  • 我正在尝试查看一个只有管理员才能查看的特定页面,但每次我提出请求时都会出现错误。它似乎与我的security-context文件中的hasRole()在一起。 当我请求查看admin jsp页面时,错误只显示HTTP状态403-访问被拒绝 我数据库中的两个表是一个用户(用户名,电子邮件,启用,密码)和一个当局(用户名,当局)。 谁能建议一下我的错误是什么或者如何修复它?

  • (spring)SecurityConfig.java LoginController.java

  • 我在负载平衡器后面有web服务器,系统成功地将我重定向到OKTA登录页面,当我输入凭据时,并在OKTA服务器执行回调操作时单击登录按钮,使用 我得到一个错误: 403-禁止:拒绝访问。您没有使用提供的凭据查看此目录或页的权限。 我在Startup.cs文件中使用下面的代码,我在Blazor服务器上的应用程序

  • 我正在尝试进行查询-https://GRAPH.microsoft.com/v1.0/users/user.name@contoso.com/messages?$select=from,to recipients,ccRecipients,bccRecipients on GRAPH Explorer-https://developer.microsoft.com/en-us/GRAPH/grap