我可以使用没有用户名或密码的spring security吗?

时间:2014-07-17 05:18:36

标签: spring spring-mvc authentication spring-security spring-security-oauth2

我需要为应用程序和组合用户表创建sso。

我想使用spring security和电子邮件身份验证,没有用户名或密码。

我该怎么做?

我的限制:

  • 单个用户可以使用多个电子邮件进行身份验证(如github)
  • 用户可以管理所有身份验证状态并使特定身份验证失效。 (在个人资料页面中)
  • password。没有字符串usernameid。 (因为没有服务支持基本登录)
    ---编辑---
  • OAuth 2.0 / 1.0a身份验证

生成方案: (这种情况适合这种情况吗?)


create table hib_authentication (
        id BIGINT UNSIGNED not null auto_increment,
        firstAuthenticatedTime TIMESTAMP DEFAULT CURRENT_TIMESTAMP not null,
        ip VARBINARY(16) not null,
        browser VARBINARY(24) not null,
        lastAuthenticatedTime TIMESTAMP DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP not null,
        user_id INT UNSIGNED not null,
        primary key (id)
    ) ENGINE=InnoDB;
    create table hib_user (
        id INT UNSIGNED not null auto_increment,
        country SMALLINT UNSIGNED not null,
        created TIMESTAMP DEFAULT CURRENT_TIMESTAMP not null,
        locale varchar(255) not null,
        timeZone varchar(255) not null,
        primary key (id)
    ) ENGINE=InnoDB;
    create table hib_user_email (
        id BIGINT UNSIGNED not null auto_increment,
        email varchar(255) not null,
        user_id INT UNSIGNED not null,
        primary key (id)
    ) ENGINE=InnoDB;
    create index index_to_get_authentication_by_user on hib_authentication (user_id);
    alter table hib_user_email 
        add constraint UK_isuygi7fmcwnlht8f4plckt6n  unique (email);
    create index index_to_search_email_by_user on hib_user_email (user_id);
    alter table hib_authentication 
        add constraint authentication_belongs_to_user 
        foreign key (user_id) 
        references hib_user (id);
    alter table hib_user_email 
        add constraint email_belongs_to_user 
        foreign key (user_id) 
        references hib_user (id);

0 个答案:

没有答案