在JBoss7中使用JAAS

来源:互联网 发布:华气厚普数据导出 编辑:程序博客网 时间:2024/05/21 21:49

原因

我们公司有一个管理系统,使用的人比较少,功能也比较简单。当初为了减少开发成本,使用了JBoss的JAAS功能来验证用户的身份。

 

配置

修改standalone.xml

要在JBoss7.1中使用JAAS,就需要修改$JBOSS_HOME\standalone\configuration\standalone.xml这个文件,相关的修改内容如下所示:

<security-domain name="MyRealm" cache-type="default">    <authentication>        <login-module code="Database" flag="required">            <module-option name="dsJndiName" value="java:jboss/datasources/myds"/>            <module-option name="principalsQuery" value="select passwd from Users whereusername=?"/>            <module-option name="rolesQuery" value="select userRoles,'Roles' from UserRoleswhere username=?"/>            <module-option name="hashAlgorithm" value="MD5"/>            <module-option name="hashEncoding" value="base64"/>        </login-module>    </authentication></security-domain>


定义说明:

由于用户的用户名和密码放在了数据库,所以在上面的定义,我们使用了数据库认证(有关在JBoss7中定义数据源,可以参考以前的文章)。

为了提高安全性,数据库中的密码我们使用了不可逆的MD5加密。

 

修改jboss-web.xml

由于我们部署的应用程序是一个war,所以需要在jboss-web.xml应用上面所定义的security-domain,修改的内容如下所示:

<jboss-web><security-domain>java:/jaas/MyRealm</security-domain></jboss-web>

 

结语

完成了上面的配置后,然后再访问你的应用程序,如果出现登录框,就证明你的设置生效了。