通过基于JDBC的用户存储部署Identity Server

在这篇文章中,我将演示如何使用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中。

dbscrpts
让我们登录到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;

showTables

现在我们完成了数据库的设置。 我们可以继续要求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表,它也会列出用户。

UM_USER

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

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

ui

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

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

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

2013-09-05 17-01-50的屏幕截图

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

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

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

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/367182.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

前端路由实现原理(history)

前端路由实现&#xff08;history&#xff09; 了解&#xff1a; HTML5 history新增了两个API:history.pushState和history.replaceState 两个api都接受三个参数 状态对象&#xff08;state object&#xff09;&#xff1a;一个JavaScript对象&#xff0c;与用pushState()方法…

unity 删除服务器项目,在吗?有个支持批量构建项目的好东西推荐给你

Unity Build Server是一种全新的项目构建辅助工具&#xff0c;它可以指定硬件设备&#xff0c;专门用于构建项目版本&#xff0c;帮助工作室大规模构建项目&#xff0c;提高团队生产力。很多人在选择Unity时并不会首先考虑到项目构建问题&#xff0c;而随着项目变得更大、更复杂…

使用WSO2 ESB构建制造服务总线(MSB)

在开始讨论本主题之前&#xff0c;我想介绍一些制造业中常用的术语。 术语制造执行系统&#xff08;MES&#xff09;由AMR Research于1990年提出&#xff0c;从先进的制造计算机信息系统的发展&#xff0c;MES概念已经发展了近三十年。 以下是制造执行系统协会&#xff08;MES…

mysql jion 实现原理_MySQL-join的实现原理、优化及NLJ算法

案例分析&#xff1a;selectc.*fromhotel_info_original cleft joinhotel_info_collection honc.hotel_typeh.hotel_typeandc.hotel_idh.hotel_idwhereh.hotel_idis null这个sql是用来查询出 c 表中有 h 表中无的记录&#xff0c;所以想到了用 left join 的特性(返回左边全部记…

python笔记30-docstring注释添加变量

前言 python里面添加字符串注释非常简单&#xff0c;如何将变量放入 python 的函数注释里面呢&#xff1f; docstring也就是给代码加注释的内容了&#xff0c;python可以给函数&#xff0c;类、方法&#xff0c;模块添加注释内容&#xff0c;注释标准格式一般是三个双引号&…

无线路由器在手机上如何连接服务器,192.168.10.1路由器手机怎么设置? | 192路由网...

问&#xff1a;192.168.10.1路由器手机怎么设置&#xff1f;答&#xff1a;192.168.10.1是一个C类的私有IP地址&#xff0c;目前国产的路由器中&#xff0c;睿因路由器使用192.168.10.1作为默认登录地址。鉴于此&#xff0c;下面鸿哥使用睿因路由器来进行演示介绍。温馨提示&am…

Java Mission Control 5.2终于来了! 欢迎7u40!

自从我们上次听说这个叫做任务控制的小东西已经有一段时间了。 它从JRockit一直到现在都被重命名为Java Mission Control。 这是从HotSpot和JRockit融合战略中幸存下来的部分之一。 使用今天的Java SE 7 Update 40&#xff0c;您实际上可以再次使用它。 Java Mission Control …

webview布局适配实践

一、相关概念 1、viewport&#xff1a;移动设备&#xff08;包括webview&#xff09;用来显示网页的那一块区域&#xff1b; 2、devicePixelRatio属性(别名像素比&#xff0c;简称dpr)&#xff1a;window.devicePixelRatio 物理像素 / 独立像素(css中的px)&#xff1b; 3、rem…

尝试连接到服务器时出错请检查虚拟机管理器,Hyper-V尝试连接到服务器出错无效类的解决方法...

Hyper-V尝试连接到服务器出错无效类的解决方法Windows10安装Hyper-V后没有自动连接到本地计算机&#xff0c;手工连接失败&#xff0c;提示&#xff1a;引用内容尝试连接到服务器"DESKTOP-6P9L2HB"时出错。请检查虚拟机管理服务是否正在运行以及是否授权你连接到此服…

你敢在post和get上刁难我,就别怪我装逼了

> 掘金编辑提醒&#xff1a;本文疑似有误&#xff0c;参考 听说「99% 的人都理解错了 HTTP 中 GET 与 POST 的区别」 之前好几次面试都被问到post和get有什么区别&#xff0c;肯定很多同学和我一样说了一大堆什么post比get安全&#xff0c;get比post传的少乱起八糟这样的答案…

昂首阔步:让开发人员喜欢使用您的REST API

随着JAX-RS API的发展&#xff0c;以及今年早些时候在JSR-339下发布的2.0版本&#xff0c;使用出色的Java平台创建REST服务变得更加容易。 但是&#xff0c;极大的简化带来了巨大的责任&#xff1a;记录所有这些API&#xff0c;以便其他开发人员可以快速了解如何使用它们。 不…

thinkphp mysql 更新_THINKPHP5修改数据库数据出现“缺少更新条件”的错误

查询数据库的数据分配显示在页面山修改后的数据准备传递到第三章图里接收数据&#xff0c;然后修改到数据问题出现的环境背景及自己尝试过哪些方法相关代码// 请把代码文本粘贴到下方(请勿用图片代替代码)第一张图代码public function edit(){$db_01new DB();$id_editRequest::…

[No0000187]可能是把Java内存区域讲的最清楚的一篇文章

写在前面&#xff08;常见面试题&#xff09; 基本问题&#xff1a; 介绍下 Java 内存区域&#xff08;运行时数据区&#xff09;Java 对象的创建过程&#xff08;五步&#xff0c;建议能默写出来并且要知道每一步虚拟机做了什么&#xff09;对象的访问定位的两种方式&#xff…

Java语言基础及java核心

一、Java语言特点 1、 简单 2、 面向对象 3、 分布式 4、 健壮 5、 安全 6、 中性架构跨平台 7、 超强的可移植性 8、 高性能 9、 多线程 二、java的环境变量 JAVA_HOMEC:\Program Files\Java\jdk1.8.0_101 &#xff08;到你的安装目录下&#xff09; CLASSPASH./ &#xff0…

移动端日期选择插件rolldate

rolldate为上一版jquery移动端时间插件的全新版本&#xff0c;目前保留了上一版的大部分功能&#xff0c;并且增加了回调函数&#xff0c;以及主题风格选取&#xff0c;最重要的是解决了上一版本的遗留问题&#xff0c;依赖jquery、滑动不够流畅、参数设计不够合理等等。开发日…

服务器如何查看gpu型号,linux 查看服务器gpu

linux 查看服务器gpu 内容精选换一换本节操作介绍通过华为云APP连接Linux实例的操作步骤。云服务器状态为“运行中”。已获取Linux云服务器用户名和密码&#xff0c;忘记密码请参考在控制台重置云耀云服务器密码重置密码。云耀云服务器已经绑定弹性公网IP。所在安全组入方向已开…

echarts vue 柱状图实例_VUE中使用Echarts绘制柱状图

在main.js中引入echartsimport echarts from ‘echarts‘Vue.prototype.$echarts echarts在相应的vue中导入echartsimport echarts from ‘echarts‘;实现柱状图显示mounted: function () {// 基于准备好的dom&#xff0c;初始化echarts实例let myChart echarts.init(documen…

从计算机体系结构方面思考深度学习

今年 1 月&#xff0c;谷歌人工智能负责人 Jeff Dean&#xff08;当时还是谷歌大脑负责人&#xff09;与 2017 年图灵奖得主、体系结构巨擘 David Patterson&#xff08;当时获奖结果尚未公布&#xff09;联合发表了题为《计算机体系结构黄金时代&#xff1a;赋能机器学习革命》…

使用Apollo通过WebSocket通过STOMP轻松进行消息传递

在我以前的文章中&#xff0c;我介绍了几个有趣的用例&#xff0c;这些用例使用著名的消息代理HornetQ和ActiveMQ通过Websockects实现STOMP消息传递。 但是我没有介绍的是Apollo&#xff0c;因为我个人认为它的API是冗长的&#xff0c;并且不像Java开发人员那样表现力强。 尽管…

h5渲染性能一瞥

内容来源&#xff1a;2018 年 6 月 30 日&#xff0c;饿了么前端主管向勇在“饿了么技术沙龙・第27弹 【前端专场】”进行《h5渲染性能一瞥》演讲分享。IT 大咖说&#xff08;微信id&#xff1a;itdakashuo&#xff09;作为独家视频合作方&#xff0c;经主办方和讲者审阅授权发…