Chinaunix首页 | 论坛 | 博客
  • 博客访问: 530216
  • 博文数量: 135
  • 博客积分: 3568
  • 博客等级: 中校
  • 技术积分: 1942
  • 用 户 组: 普通用户
  • 注册时间: 2006-10-19 17:52
文章分类

全部博文(135)

文章存档

2012年(29)

2011年(41)

2010年(26)

2009年(12)

2008年(9)

2007年(12)

2006年(6)

分类: Java

2011-08-19 13:42:06

--------------------------忘记控制台管理员密码--------------------------
参考:
    pazhanikanthan的回答 @

说明:偶使用的WebLogic版本是 10.3.5.0
步骤:
 # 1. 进入Weblogic的domain目录
 CMD:\> cd 
 
 # 2. 设置PATH和CLASSPATH
 CMD:\YourDomainPath> bin\setDomainEnv.cmd
 CMD:\YourDomainPath> echo %CLASSPATH%

 # 3. 生成临时管理员的账户和密码(备份并重新生成\security\DefaultAuthenticatorInit.ldift)
 CMD:\YourDomainPath> rename .\security\DefaultAuthenticatorInit.ldift DefaultAuthenticatorInit.ldift.bak
 CMD:\YourDomainPath> java weblogic.security.utils.AdminAccount .\sercurity

# 4.  删除boot.properties中的内容
CMD:\YourDomainPath> echo username= > .\servers\\security\boot.properties
 CMD:\YourDomainPath> echo password= >> .\servers\\security\boot.properties

# 5. 备份并删除目录 \servers\\data\ldap
 
# 6. 重启 Weblogic

--------------------------------WebLogic SSL------------------
1  WebLogic 服务器的设置
1.1 先使用JDK自带的keytool.exe 生成一个自签名的证书及密钥库:
(注意:以下是一行命令,这里是为了显示而修改成多行了)
CMD:\> keytool -genkeypair -alias mykey -keyalg RSA -keysize 1024 -sigalg SHA1withRSA
-dname "CN=HelloWLSSL, OU=No.1 Department, O=ABCSystems.Inc, L=Weihai, S=Shandong, C=CN"
-validity 3650 -keypass 123456 -keystore C:/weblogic.jks -storepass 123456 -storetype JKS
   该命令 生成一对自签名的私钥和证书(公钥),并将其保存在指定的密钥库中。
   如果密钥库不存在,则创建一个。
  
   密钥库简单介绍:它相当于各种对称加密,非对称加密的密钥的保存库,
   类似于日常中使用的各种USB密钥,只不过前者是软件虚拟设备,后者是物理真实设备。密钥库通过 -storepass 进行密码保护。
   该密钥库中可以存放多套证书及其对应的私钥,但是私钥通过 -keypass 进行密码保护。

1.2 通过浏览器登陆在WebLoigc控制台并进行相应的配置

左侧 base_domain -> 环境 -> 服务器 -> AdminServer (管理) -> 配置
 -> 一般信息 :
     -> 选中 “启用SSL监听端口”,并修改 SSL监听端口为标准的 443 端口。-> 保存
 -> 密钥库 :
     -> 点击 “更改”,选择为 “定制标识和定制信任”-> 保存
     -> 定制标识密钥库:输入步骤2.1 中 -keystore 指定的文件全路径,这里是 "C:/weblogic.jks"
     -> 定制标识密钥库类型: 输入步骤2.1中 -storetype 指定的值,这里是 "JKS"
     -> 定制标识密钥库密码短语 和 确认定制标识密钥库密码短语:
          输入步骤2.1中 -storepass 指定的密码,这里是"123456"
     -> “信任”下的配置不需要配置,因为我们使用的是自签名的证书,仅仅用来保证数据通道安全。
     -> 保存
 -> SSL
     -> "标识和信任位置" 保持默认的 “密钥库”即可
     -> 私有密钥别名: 输入步骤2.1中 -alias 指定的 别名,这里是 “mykey”
     -> 私有密钥密码短语 和 确认私有密钥密码短语 :
           输入步骤2.1中 -keypass 指定的密码即可,这里是 "123456"
     -> 保存

2 web应用中的配置
2.1 修改 WEB-INF/web.xml
  1. <security-constraint>
  2.     <display-name>整站SSL</display-name>
  3.     <web-resource-collection>
  4.       <web-resource-name>Protected Area</web-resource-name>
  5.       <url-pattern>/*</url-pattern>
  6.       <http-method>DELETE</http-method>
  7.       <http-method>GET</http-method>
  8.       <http-method>POST</http-method>
  9.       <http-method>PUT</http-method>
  10.     </web-resource-collection>
  11.     <user-data-constraint>
  12.       <transport-guarantee>CONFIDENTIAL</transport-guarantee>
  13.     </user-data-constraint>
  14.   </security-constraint>
  15.   
  16.   <security-role>
  17.     <role-name>XXX_ROLE_NAME</role-name>
  18.   </security-role>
  19.  
  20.   <login-config>
  21.     <auth-method>BASIC</auth-method>
  22.     <realm-name>XXX System</realm-name>
  23.   </login-config>
2.2 修改 WEB-INF/weblogic.xml
  1. <?xml version='1.0' encoding='UTF-8'?>
  2. <weblogic-web-app xmlns="http://www.bea.com/ns/weblogic/90"
  3.    xmlns:xsi="">
  4.   <security-role-assignment>
  5.     <role-name>XXX_ROLE_USER</role-name> <!-- web.xml中的role名称 -->
  6.     <principal-name>XXX_USER_GROUP</principal-name> <!-- weblogic控制台中配置的用户组的名称 -->
  7.   </security-role-assignment>
  8. </weblogic-web-app>

------------------------Webloigc的Class加载顺序与Tomcat的不一致----------------------
对应方法:修改 WEB-INF/weblogic.xml
  1. <?xml version='1.0' encoding='UTF-8'?>
  2. <weblogic-web-app xmlns="http://www.bea.com/ns/weblogic/90"
  3.    xmlns:xsi="">
  4.    ...
  5.   <container-descriptor>
  6.     <prefer-web-inf-classes>true</prefer-web-inf-classes>
  7.   </container-descriptor>
  8.    ...
  9. </weblogic-web-app>
但因此会出现另外一个问题:
ClassNotFoundException:org.apache.xerces.jaxp.datatype.DataTypeFactoryImpl
1. 将 WEB-INF/lib/ 下的低版本的 xercesImpl_<版本号>.jar删除,更新至 2.9.1 +即可。


------------------------通过IP根目录直接访问Web应用-------------------------
修改 WEB-INF/weblogic.xml
  1. <?xml version='1.0' encoding='UTF-8'?>
  2. <weblogic-web-app
  3.      xmlns="http://www.bea.com/ns/weblogic/90"
  4.      xmlns:xsi="">
  5.    ...
  6.    <context-root>/</context-root>
  7.    ...
  8. </weblogic-web-app>

阅读(1321) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~