weblogic Provider

做过OAM,OID项目的同学应该都知道,要集成OAM和OID需要在weblogic的Security Realms中配置Provider,那什么是Provider?在业务系统中,认证和授权一直是最复杂的一块,体现在

  • 认证协议多样性,比如OAuth2,SAML等
  • 认证方式多样性,比如二次认证,验证码认证等
  • 认证策略多样性,比如有多个认证源,策略可以多样性,可以是一个不通过就不通过,也可以是只要有一个通过就全部通过
  • 自定义认证的需求,这个在企业里面还是挺多的,一些系统上线时还没有相应的标准出来,所以都是自开发
  • 密码认证策略多样性,大部分系统密码存储是不可逆的,如果一开始没有将密码存储在LDAP之类的服务里,后续如果要做升级,就无法拿到原始密码,那么就需要自定义密码认证策略。

总之,认证并不是用户名密码验证这么简单,所以weblogic针对不同的认证场景提供不同的Provider,weblogic作为成熟的商业服务器,自然包含大部分认证场景,以weblogic 11g为例,包含了以下Provider

Read the rest of this entry

背景

某项目在weblogic升级失败后进行回滚,回滚后环境接口无法访问,报500异常,接口为BPM Service客户端程序,错误如下:

SEVERE: <.> getTokenType: invalid token: e0FFU31EbGdrK0IxSlV1WkFMM0doc2dlMUJxdWpjQmEza0tzZGNncnlOSUlLdnFaT0QrY1pyanBBa0d0MTdURHhqbmx4SWJ1d3hvMGsxNmZyaUJFcDIvbGd3MkFWUjRCUXVZdFhvemcxZmprQm83akFoS3pMSWVxeG1DT213VkJpUW5rUWhzQ3lVSmRUT204dXdUUmI2bnlsdEg4bTducTFBWVd0eDVKWjdVSHRiRndsRkRxcjQrZnBVKzBoV0lkc1lRZXQ2VlZkSDRtNUp0V05LYW1SdGNMNWZOUE0rVTVtaEhYYWU5czg4c1VLNHIvenFDN05GTXFieGl6YXJubkd6ZHhTSEZRcUxiRTlmK3ZaNzlLMVlCNExmbkJhL0pSY2hvanlHZ0ZyQWJLdVhJbz0=
SEVERE: <.> Invalid Token Error in Verification Service.
Invalid Token Error in Verification Service. Received invalid token in getTokenType.
Verify that correct token is passed.
ORABPEL-30503
Invalid Token Error in Verification Service.
Invalid Token Error in Verification Service. Received invalid token in getTokenType.
Verify that correct token is passed.
	at oracle.bpel.services.workflow.verification.impl.Token.getTokenType(Token.java:545)
	at oracle.bpel.services.workflow.verification.impl.Token.isSameValue(Token.java:314)
	at oracle.bpel.services.workflow.verification.impl.VerificationService.isInternalWorkflowContext(VerificationService.java:689)

Read the rest of this entry

,

背景

相信做过oracle中间件的同学肯定都会遇到这样的情况

  • 忘记weblogic管理员密码
  • 忘记数据库schema密码

项目就像流水一样永不停息,每个项目又有多套环境,每个环境又有超级多的服务器,就产生了超级多的密码,程序员又懒又自负,自以为能记住所有密码,结果往往是悲剧的,幸运的是weblogic帮我们记住了所有的密码,虽然是加密的,但由于weblogic本身也要使用密码进行验证,因此加密必然是可逆的,这篇文档介绍如何进行解密。

在weblogic后台配置文件中,有很多是包含密码的,比如boot.properties,config.xml等,这些密码都被加密过,你看到的形式为{AES}xxxxxx都是密码。

Read the rest of this entry

补丁下载

oracle每个季度都会更新一次补丁,可以从这里下载oracle产品每个季度的补丁,点击去后,在左边找到你的产品,点击右边进入补丁下载

补丁下载需要登录oracle support,你必须先注册一个support账号,进入后在产品列表找到产品

Read the rest of this entry

背景

某客户有两套用户中心,门户需要实现以下需求,先在用户中心1进行认证,如果认证通过就结束,如果失败进行用户中心2进行认证。

实现

上一篇文章中,我们提到weblogic是可以配置多个Provider,也就是认证提供程序,并且有个控制参数(Control Flag)控制认证规则,通过调整Provider顺序可以控制认证顺序,这两个配合即可实现上面的需求。

创建Provider

这里我们参考上一篇文章创建了两个SQLAuthenticator,SQL1和SQL2,并将其调整至最前面,如图:

Read the rest of this entry

背景

企业应用中,最麻烦的应该就是认证,每个企业都有自己的认证体系,甚至企业内部每个系统有自己的认证方案,其中有基于标准的,有根据标准自定义的,也有完全自定义的,将这么多不同认证体系的系统集成到一个统一认证中心是非常具有挑战性的,所以我一直觉得单点登录的项目是最难做的,也正因为认证体系的多样性,weblogic提供了多种认证方案,看到下面这张图就知道weblogic为什么是最强企业应用中间件了,基本上你能想到的,想不到的认证方式weblogic都提供了解决方案。

Read the rest of this entry

http://oa.definesys.com:7003/definespace/ers/login.html为例

  • 根据oa.definesys.com确定所在服务器,如果是ohs或者nginx之类的代理服务器,需要根据配置找到真正服务器地址
  • 根据7003找到所在程序,可以通过以下命令找到应用程序pid
[root ~]# netstat -npl|grep 7003
tcp        0      0 172.17.65.1:7003        0.0.0.0:*               LISTEN      16496/java          
tcp        0      0 172.23.0.1:7003         0.0.0.0:*               LISTEN      16496/java          
tcp        0      0 172.16.81.92:7003       0.0.0.0:*               LISTEN      16496/java          
tcp        0      0 127.0.0.1:7003          0.0.0.0:*               LISTEN      16496/java          
tcp        0      0 172.22.0.1:7003         0.0.0.0:*               LISTEN      16496/java

Read the rest of this entry

背景

某项目weblogic AdminServer在启动后会慢慢消耗内存,并且超过-Xmx设置的大小,最终消耗完整个服务器的内存。

  • 内存使用情况
[root@esb-osb1 ~]# free -m
              total        used        free      shared  buff/cache   available
Mem:          31996       30878         229         195         888         358
Swap:          8063        5793        2270

背景

weblogic admin server端口号7001,在启动的时候,能启动成功,但是无法访问,错误日志里有Address already in use的错误信息,这个错误信息的意思是7001端口号被占用。

你需要了解的

网卡

服务器可能有多张网卡,并且有一张默认的网卡,叫做回环网卡,名称默认一般是lo,ip地址为127.0.0.1,这个网卡不是一个硬件设备而是由软件实现,所有发送到该网卡的数据能够立即被接收,提高本地应用程序通信效率,所以如果你在一台服务器上既部署了你的应用程序也部署了数据库,那么用localhost或者127.0.0.1作为连接地址是最快的。

Read the rest of this entry

概述

weblogic有三种安装方式

  • GUI方式安装,有界面引导安装,操作简单,但Linux需要安装GUI图形界面软件,本地通过VNC工具连接。
  • 静默安装,该方式可以实现自动化安装,但需要提前准备好安装所需配置文件。
  • 控制台安装,weblogic安装程序提供控制台界面安装,就算把GUI图形界面的相关配置信息用控制台的方式展现,用户通过键盘输入进行选择。

本次安装采用控制台安装方式对weblogic进行安装配置,在启动weblogic安装程序后,安装程序会自动监测当前环境,如果非GUI环境会自动进入console模式。

和GUI安装方式相比,控制台安装不需要安装VNC工具,实在是方便很多,但需要安装人员对weblogic的安装非常的熟悉,因为一切都是通过控制台进行交互。

上传介质

  • 创建介质目录
[root]
mkdir –p /u01/installer

将以下安装介质上传至服务器介质目录下

  • wls1036_generic.jar
  • jdk-7u76-linux-x64.zip

Read the rest of this entry