firebase - 有没有办法不使用内存中的身份验证?@PreAuthorize、@Secured、@RoleAllowed 不起作用
问题描述
问题: 1.如何将权限链接到注释?意图是使用当前注释来锁定某些 API:@RoleAllowed("ROLE_VIEWER","ROLE_EDITOR"),@Secured({ "ROLE_VIEWER", "ROLE_EDITOR" }),@PreAuthorize("hasRole('USER') 或 hasRole( '行政')”)。@EnableGlobalMethodSecurity(prePostEnabled=true,securedEnabled=true,jsr250Enabled=true) 已被使用。DB如下所示。Firebase 用于生成/验证。
CREATE TABLE IF NOT EXISTS USER (
ID VARCHAR (50) NOT NULL PRIMARY KEY,
NAME VARCHAR (50) NOT NULL,
LOGIN VARCHAR (50) NOT NULL,
STATUS SMALLINT NOT NULL,
CREATED_AT TIMESTAMP NOT NULL DEFAULT CURRENT_TIMESTAMP,
UPDATED_AT TIMESTAMP NOT NULL DEFAULT CURRENT_TIMESTAMP,
CONSTRAINT UC_USER_LOGIN UNIQUE (LOGIN));
CREATE TABLE IF NOT EXISTS AUTHORITY (
ID VARCHAR (50) NOT NULL PRIMARY KEY,
NAME VARCHAR (50) NOT NULL,
DESCRIPTION VARCHAR (255) NOT NULL,
CREATED_AT TIMESTAMP NOT NULL DEFAULT CURRENT_TIMESTAMP,
UPDATED_AT TIMESTAMP NOT NULL DEFAULT CURRENT_TIMESTAMP,
CONSTRAINT UC_AUTHORITY_NAME UNIQUE (NAME));
CREATE TABLE IF NOT EXISTS USER_AUTHORITY (
ID VARCHAR (100) NOT NULL PRIMARY KEY,
USER_ID VARCHAR (50) NOT NULL REFERENCES USER (ID) ON DELETE CASCADE,
AUTHORITY_ID VARCHAR (50) NOT NULL REFERENCES AUTHORITY (ID) ON DELETE CASCADE,
CREATED_AT TIMESTAMP NOT NULL DEFAULT CURRENT_TIMESTAMP,
UPDATED_AT TIMESTAMP NOT NULL DEFAULT CURRENT_TIMESTAMP);
解决方案
推荐阅读
- flutter - Flutter - 如何自动滚动 ListView 以使部分可见的平面按钮完全可见
- javascript - 放置、修补和删除不返回错误
- c# - 我有一个名为“public”的属性,我必须访问它
- amazon-web-services - 从 API Gateway 获取 terraform 中 AWS lambda 的端点
- php - 使用会话登录后显示全名
- flutter - 从多个 Widget/State 调用的公共类/函数
- javascript - 如何比较两个对象数组以查看它们是否具有相同的 id,然后从匹配的对象返回另一个值?
- vb.net - 自己的文件类型:获取调用文件的名称
- mysql - 在 Sql 中将 Bigint 数据转换为人类可读的日期时间
- grpc - 使用 Python 编译 Jaeger gRPC proto 文件