您现在的位置是:首页-> 米鼠技术 ->JBoss-3.0.1RC1_Tomcat-4.0.4中的安全

JBoss-3.0.1RC1_Tomcat-4.0.4中的安全

相对于JBoss2.4.4而言,在用户安全认证方面,唯一的区别在于原在在auth.conf中配置的内容改在login-config.XML文件中,如DatabaseServerLoginModule的相应变动如下:

<

application-policy name = "testDB"

>


 

<

authentication

>


 

<

login-module code = "org.jboss.security.auth.spi.DatabaseServerLoginModule"
flag = "required"

>


 

<

module-option name="dsJndiName"

>

Java:/MySQLDS

<

/module-option

>


 

<

module-option name="principalsQuery"

>

select passwd from Users username where username=?

<

/module-option

>


 

<

module-option name="rolesQuery"

>

select userRoles, 'Roles' from UserRoles where username=?

<

/module-option

>


 

<

/login-module

>


 

<

/authentication

>


 

<

/application-policy

>



具体方法可以参看本站另一篇文章:在JBOSS中实现用户安全认证。



第二部分:SSL

首先,要安装JSSE安全套接字扩展包,可以从SUN的站点下载,当前版本是v1.0.3。

解压缩后把lib目录下三个文件:jsse.jar jcert.jar jnet.jar 拷入%JAVA_HOME%jrelibext目录下,
并修改 %JAVA_HOME%jrelibsecurityjava.security文件,加上一句如下:

security.provider.3=com.sun.net.ssl.internal.ssl.Provider

然后我们创建一个用于服务器的密钥库,在命令行进入当前目录server/default/conf

keytool -genkey -keyalg RSA -keystore server.keystore


Enter keystore password: changeit
What is your first and last name? localhost

其它依提示操作即可。


下面修改JBoss相关配置文件:

第一步,修改server/default/conf/jboss-service.xml文件,在security一节中加入:

<

!-- The SSL domain setup --

>


 

<

mbean code="org.jboss.security.plugins.JaasSecurityDomain"
name="Security:name=JaasSecurityDomain,domain=RMI+SSL"

>


 

<

constructor

>


 

<

arg type="java.lang.String" value="RMI+SSL"/

>


 

<

/constructor

>


 

<

attribute name="KeyStoreURL"

>

server.keystore

<

/attribute

>


 

<

attribute name="KeyStorePass"

>

changeit

<

/attribute

>


 

<

/mbean

>



注意:这里的changeit是你在建立密钥库时输入的密码,server.keystore是你建立的密钥库文件。

第二步:修改server/default/deploy/tomcat4-service.xml文件,找到:

<

Connector className = "org.apache.catalina.connector.http.HttpConnector"
port = "8080" minProcessors = "3" maxProcessors = "10" enableLookups = "true"
acceptCount = "10" debug = "0" connectionTimeout = "60000"/

>



替换成:

<

!-- HTTP Connector configuration --

>


 

<

Connector className = "org.apache.catalina.connector.http.HttpConnector"
port = "8080" redirectPort = "8443"/

>


 

<

!-- SSL/TLS Connector configuration --

>


 

<

Connector className = "org.apache.catalina.connector.http.HttpConnector"
port = "8443" scheme = "https" secure = "true"

>


 

<

Factory className = "org.jboss.Web.catalina.security.SSLServerSocketFactory"
securityDomainName = "java:/jaas/RMI+SSL" clientAuth = "false"
protocol = "TLS"/

>


 

<

/Connector

>



这样就完成了JBoss的配置。你可以通过https来访问你的web应用了。


欢迎访问米鼠网:http://fac.misuland.com


热点文章
最新项目
相关文章 最新文章