5.Jboss下用JAAS处理Web登录安全性范例

下载地址: http://download.csdn.net/source/330705

本示例用了一些hibernate的东西读取数据库,这部分代码可以不必理会. 

1.配置JBoss主目录下的server/default/conf下的login-config.xml,加入如下的内容:

    <application-policy name = "testLoginModule">
       <authentication>
          <login-module code = "com.ben.common.security.LoginModule"
             flag = "required">
             <module-option name = "dsJndiName">java:/testds</module-option>
             <module-option name = "principalsQuery">SELECT PASSWORD FROM USERS WHERE LOGINID=?</module-option>
             <module-option name = "rolesQuery">SELECT ROLE ROLENAME,'Roles' FROM USER_ROLE WHERE LOGINID=?</module-option>
             <module-option name="hashAlgorithm">MD5</module-option>
       <module-option name="hashEncoding">base64</module-option>
       <module-option name="loginBo">com.ben.org.business.LoginBo</module-option>           
          </login-module>
       </authentication>
    </application-policy> 

2.建表

在你的数据库中建立一个用户ben,密码为oracle,然后用sqlplus或其它oracle客户端工具执行db.sql,你可以根据自己的需要修改一下这些sql语句,比如表空间等

3.建立连接池

将oracle-ds.xml文件复制到你的Jboss主目录下的server/default/deploy目录下,如果你的目录下已经有了这个文件,你可以把我的内容复制过去,相应的IP地址、SID、用户名、密码等你根据你的实际情况修改。

4.复制hibernate需要的ehcache-1.1.jar到你的Jboss主目录下的server/default/lib目录下。

5.设置DefaultCacheTimeout,DefaultCacheResolution的值为0,这个我就不多说了,请参阅我的上一篇

文章《在JBoss中自己定义JAAS登录模块处理登录事件》。

6.配置完后将TestLoginMoudle.war复制到你的Jboss主目录下的server/default/deploy目录下,运行jboss即可.

然后你就可以在浏览器里输入地址如:http://127.0.0.1:8082/TestLoginMoudle即可以看到登录页面。

用户名:zhangsan
密码:123456

用户名:lisi
密码:123456

其中zhangsan有权限查看index.jsp,因为他的角色是role1,李四则会被拒绝,因为他的角色是role2.

评论 17
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值