在这篇文章中,我将演示如何使用JDBC用户存储配置WSO2 Identity Server。 为了演示,我使用的是MySQL用户存储,但是相同的过程也适用于任何其他JDBC用户存储。 我的环境是

  • 操作系统– Ubuntu 12.10
  • Java – 1.6
  • WSO2是4.5.0
  1. 设置MySQL数据库
  2. IS中的用户存储配置–主要
  3. IS中的用户存储配置–辅助

(在本文中,我将提取的wso2is文件夹称为CARBON_HOME)

设置MySQL数据库

我们首先需要运行MySQL。 如果尚未建立MySQL资料库 ,这篇文章会很有帮助。 MySQL运行后,我们必须根据Identity Server的要求来建立数据库。 服务器在其内部打包了必要的sql脚本,这些脚本可以位于CARBON_HOME / dbscripts中。


让我们登录到MySQL服务器并执行以下命令:

创建一个数据库,

mysql> create datbase JDBC_demo_user_store;

看看创作,

mysql> show databases;

然后使用sql脚本并设置数据库,

mysql> use JDBC_demo_user_store;
mysql> source <path_to>/wso2is-4.5.0/dbscripts/mysql.sql;

这将在SQL脚本中运行查询并设置所需的表。

现在,如果我们输入命令,将显示以下输出。

mysql> show tables;

现在我们完成了数据库的设置。 我们可以继续要求Identiy Server使用它。

注意:在执行以下步骤之前,我们还需要将mysql-jdbc连接器添加到Identity Server。 您可以从此处下载它,并将其放入CARBON_HOME / repository / components / lib中。

IS中的用户存储配置–主要

Identity Server使用嵌入式H2数据库保留权限详细信息等,其数据源详细信息位于CARBON_HOME / repository / conf / datasources / master-datasources.xml中。 我们也可以在此处添加新JDBC用户存储的数据源详细信息。 根据我的设置,这是master-datasources.xml文件。

<datasource><name>JDBC_demo_user_store</name><description>The datasource used for JDBC_demo_user_store</description><jndiConfig><name>jdbc/JDBC_demo_user_store</name></jndiConfig><definition type="RDBMS"><configuration><url>jdbc:mysql://localhost:3306/JDBC_demo_user_store</url><username>root</username><password>pushpalanka2</password><driverClassName>com.mysql.jdbc.Driver</driverClassName><maxActive>50</maxActive><maxWait>60000</maxWait><testOnBorrow>true</testOnBorrow><validationQuery>SELECT 1</validationQuery><validationInterval>30000</validationInterval></configuration></definition>
</datasource>

用户存储的主要配置位于CARBON_HOME / repository / conf / user-mgt.xml文件中。 默认情况下,它指向嵌入式ReadLDAPUserStoreManager。 现在我们将其更改为JDBCUserStoreManager。 因此,让我们注释掉默认值之一,并取消注释JDBCUserStoreManager。 现在,我们将有一个类似于this的user-mgt.xml文件 。 如果需要,我们可以根据上下文修改这些属性。

现在配置已结束。 让我们从bin / wso2server.sh启动服务器。 一旦开始,请继续并将用户添加到“主”域。

现在,如果我们检查在数据库中创建的UM_USER表,它也会列出用户。

IS中的用户存储配置–辅助

现在,让我们看看如何在IS中将相同的MySQL用户存储用作辅助用户存储。 这很容易,我们可以通过UI进行全部操作,而无需对master-datasources.xml或user-mgt.xml中的上述默认配置进行任何修改。 我们必须在此处添加驱动程序名称,URL,用户名和密码,作为先前在master-datasources.xml中提供的强制属性。

添加后,它将显示在可用的用户存储列表中。 在UI中定义用户商店经理是很直观的,但是如果您想了解更多详细信息,可以参考这篇文章 。 如果需要,我们也可以编辑可选属性。 高级部分包含JDBC用户存储管理器所需的SQL语句。

Advanced Option:如果要编辑数据库结构(SQL脚本),则需要使用该Advanced选项根据该架构更新这些SQL查询。

现在,如果我们尝试添加新用户,我们还将看到该辅助域。

如果选择此域并添加用户,我们可以看到用户添加到数据库中的方式与主要用户存储中的方式相同。

参考: Pushpalanka博客博客中的JCG合作伙伴 Pushpalanka 通过基于JDBC的用户存储部署Identity Server 。

翻译自: https://www.javacodegeeks.com/2013/09/deploying-identity-server-over-a-jdbc-based-user-store.html

通过基于JDBC的用户存储部署Identity Server相关推荐

  1. 网络存储技术Windows Server 2012(汇总目录)

    网络存储技术Windows Server 2012-- 文章视频讲解汇总目录 前言 网络存储技术,是以互联网为载体实现数据的传输与存储,它采用面向网络的存储体系结构,使数据处理和数据存储分离.它通过网 ...

  2. 网络云存储技术Windows server 2012 (项目二十 一 基于Cluster的高可用企业WEB服务器的部署)

    网络云存储技术Windows server 2012 (项目二十一 基于Cluster的高可用企业WEB服务器的部署) 前言 网络存储技术,是以互联网为载体实现数据的传输与存储,它采用面向网络的存储体 ...

  3. TKE用户故事 | 作业帮检索服务基于Fluid的计算存储分离实践

    作者 吕亚霖,2019年加入作业帮,作业帮基础架构-架构研发团队负责人,在作业帮期间主导了云原生架构演进.推动实施容器化改造.服务治理.GO微服务框架.DevOps的落地实践. 张浩然,2019年加入 ...

  4. 网络云存储技术Windows server 2012 (项目二十 基于NLB的企业Web站点服务部署)

    网络云存储技术Windows server 2012 (项目二十 基于NLB的企业Web站点服务部署) 前言 网络存储技术,是以互联网为载体实现数据的传输与存储,它采用面向网络的存储体系结构,使数据处 ...

  5. 基于JAVA阅读与存储图书网站设计与实现计算机毕业设计源码+数据库+lw文档+系统+部署

    基于JAVA阅读与存储图书网站设计与实现计算机毕业设计源码+数据库+lw文档+系统+部署 基于JAVA阅读与存储图书网站设计与实现计算机毕业设计源码+数据库+lw文档+系统+部署 本源码技术栈: 项目 ...

  6. 网络存储技术Windows server 2012 (项目二十二 远程异地灾备中心的部署)

    网络云存储技术Windows server 2012 (项目二十二 远程异地灾备中心的部署) 前言 网络存储技术,是以互联网为载体实现数据的传输与存储,它采用面向网络的存储体系结构,使数据处理和数据存 ...

  7. Sequoia(基于JDBC的数据库集群中间件)用户手册

    http://haha8.runsky.com/forum/showthread.php?t=22668 Sequoia(基于JDBC的数据库集群中间件)用户手册 1, 入门 1.1, 什么是Sequ ...

  8. Ceph -存储部署 ;

    一 . Ceph存储系统概述 Ceph是呼声很高的开源分布式的SDS产品存储系统. 同时提供对象存储.块存储和文件系统存储 三种功能,满足不同应用需求. Ceph使用C++语言开发,遵循LGPL协议开 ...

  9. 基于MRS-ClickHouse构建用户画像系统方案介绍

    业务场景 用户画像是对用户信息的标签化.用户画像系统通过对收集的各维度数据,进行深度的分析和挖掘,给不同的用户打上不同的标签,从而刻画出客户的全貌.通过用户画像系统,可以对各个用户进行精准定位,从而将 ...

最新文章

  1. Spring Boot + Vue + Shiro 实现前后端分离、权限控制
  2. 汕头金山中学2021高考成绩查询,2019汕头市金山中学录取分数线及2019高考成绩喜报...
  3. python 小游戏500行以内_[宜配屋]听图阁
  4. Blend Tree Type
  5. gpg加密命令 linux_加密方案 GNUPG amp; Yubikey
  6. JS模式--职责链模式
  7. 无法打开此修补程序包”或“这个产品的安装来源无法使用”解决(转)
  8. Microsoft将Linux带至桌面操作系统
  9. 持续集成部署Jenkins工作笔记0007---配置JDK和Maven并安装Deploy插件
  10. 51nod1255【贪心-栈的应用】
  11. 习进度条2017上学期第十周
  12. Ubuntu改坏sudoers后无法使用sudo的解决办法
  13. ajax传给后台json数据,通过ajax和spring 后台传输json数据
  14. 关于在Ubuntu中更新pip时遇到的问题及解决方法
  15. 淘宝/天猫商品优惠券查询API接口,优惠券API接口
  16. 若依 后台框架配置丛数据源使用
  17. rabbitmq reply-code=404, reply-text=NOT_FOUND
  18. 通过三层交换机实现vlan间互通
  19. 【R语言数据科学】(十八):系统聚类和K-Means聚类
  20. Linux服务器使用Less查看日志文件

热门文章

  1. 下载bilibli网站视频
  2. 如何安装mysql5.5.6_centos6安装mysql5.5.53
  3. internet地址java表示
  4. jvm(3)-垃圾收集器与内存分配策略
  5. x86 的 TSS 任务切换机制
  6. Request获取参数封装方式
  7. java 方法注解_使用Java注解不正确的方法
  8. 使用AWS Lambda,S3和AWS CloudFront进行动态内容缓存
  9. Sun过去的世界中的JDK 11和代理
  10. JVM体系结构101:了解您的虚拟机