|
|
| JBoss-3.0.1RC1_Tomcat-4.0.4中的安全 |
作者:
文章来源:
访问次数:319次
加入时间:2007年01月27日
|
|
相对于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应用了。
|
|
|