Spring安全方法级别认证

时间:2019-03-29 07:25:23

标签: spring spring-security

每次尝试使用此安全方法时,我都会遇到dotnetcharge.dll错误。除了这种安全的方法外,我还可以使用其他所有方法。如果有关系,我正在使用H2 DB。

这是我第一次尝试dotnetcharge.dll。所以请原谅我任何简单的错误

<compilation debug="true" targetFramework="4.6.1">
    <assemblies>
        <remove assembly="dotnetcharge"/>
    </assemblies>
</compilation>

我的Spring配置类如下:

403 - Access denied

我的H2 DB条目是:

spring security

1 个答案:

答案 0 :(得分:2)

您的数据库表let data = [{"name":"Polo Shirt","size":"XL","price":19.9,"color":"black"},{"name":"Polo Shirt (Stripe)","size":"XL","price":19.9,"color":"black"},{"name":"Polo Shirt (Printed)","size":"XL","price":19.9,"color":"black"},{"name":"Short Sleeve Polo Shirt","size":"L","price":14.9,"color":"blue"},{"name":"Sleeve Polo Shirt","size":"L","price":20.9,"color":"black"},{"name":"Long Sleeve Polo Shirt","size":"L","price":14.9,"color":"blue"},{"name":"Long Sleeve Polo Shirt","size":"L","price":14.9,"color":"blue"},{"name":"Long Sleeve Polo Shirt","size":"L","price":14.9,"color":"blue"}] const uniq = data.reverse().filter(function({name, ...rest}) { const key = Object.values(rest).join('-'); if(!this[key]) return this[key] = true; else return false; }).reverse() console.log(uniq)包含两个用户名为TBLUSERS的用户。显然,使用了具有权限Abhishek的最后一个。但是,只有拥有权限ROLE_USER的用户才能访问URL /addProduct。因此,您收到403错误消息。

如果要拥有具有多个权限的用户,则必须更改数据库架构,例如,参见Spring Security Reference

  

15.1.1用户架构

     

ROLE_ADMINUserDetailsService)的标准JDBC实现要求表为用户加载密码,帐户状态(启用或禁用)和权限列表(角色)。您将需要调整此架构以匹配您正在使用的数据库方言。

     
JdbcDaoImpl