spring security 使用hibernate和jsf认证不同的配置文件和权限

Posted

技术标签:

【中文标题】spring security 使用hibernate和jsf认证不同的配置文件和权限【英文标题】:spring security authentication different profiles and permissions with hibernate and jsf 【发布时间】:2015-01-29 16:24:24 【问题描述】:

我想使用 Spring Security 对用户进行身份验证。我正在使用 hiebrnate 和 jsf。 问题在于我在网上看到的不同教程中只有一个角色。但就我而言,我有一个具有权限和配置文件的不同数据库

表用户

用户名 个人资料 ID 登录 密码

表配置文件

profile_id 个人资料

表格操作或权限

action_id 动作 profile_id

我想知道是否有人知道如何实现这一点或知道一些好的教程。

【问题讨论】:

【参考方案1】:

如果您想管理您的用户角色、组和权限,您可以查看Spring Security documentation about schema。 这里有一些关于上述链接的 sn-ps 和详细信息:

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);
create table groups (
  id bigint generated by default as identity(start with 0) primary key,
  group_name varchar_ignorecase(50) not null);

create table group_authorities (
  group_id bigint not null,
  authority varchar(50) not null,
  constraint fk_group_authorities_group foreign key(group_id) references groups(id));

create table group_members (
  id bigint generated by default as identity(start with 0) primary key,
  username varchar(50) not null,
  group_id bigint not null,
  constraint fk_group_members_group foreign key(group_id) references groups(id));

【讨论】:

这样,我必须使用文档中的模式,但对我来说,我想使用我自己的表,就像我之前说的那样。有没有办法做到这一点? 你可以看到他们是如何做的并定制他们的例子 但是在这个例子中,我们只有数据库模式,而不是 spring security 上的例子的实现

以上是关于spring security 使用hibernate和jsf认证不同的配置文件和权限的主要内容,如果未能解决你的问题,请参考以下文章

如何使用 Spring Security @Secured 注解测试 Spring Boot @WebFluxTest

Spring Framework,Spring Security - 可以在没有 Spring Framework 的情况下使用 Spring Security?

仅使用 Spring-Security(或)Spring 进行授权

在使用 Oauth、SAML 和 spring-security 的多租户的情况下从 spring-security.xml 中获取错误

Spring security:Spring security 如何在 SessionRegistry 中注册新会话?

未调用 Spring Security j_spring_security_check