Stringbeans安装配置指南-4

验证设置

Stringbeans3.1开始,其默认的验证服务是JAASLDAP

默认的验证方案

Stringbeans默认使用J2EE架构标准用户验证方案。使用Servlet过滤器来验证用户/角色信息,这些信息保存在SB_USERS, SB_ROLES and SB_USER_ROLES表中。所有的表定义在$STRINGBEANS_HOME/WEB-INF/setup/sql文件夹下。你可以修改为不同的数据库或者表名,这一个可以参考数据库配置章节,验证所需要的表名称也可以进行修改,参看以下步骤。

 

1.     修改$STRINGBEANS_HOME/WEB-INF下的webservice.xml文件(查询列必须按照相同的顺序)。

a)       修改authByUserNameSQLauthByEmailSQL参数,以适应你自己的表名称。

        SELECT <username column name>, <password column name>  FROM <users table name>  WHERE upper(<username column name>) = upper(?)

 

upper()也可以替换为lower(),如果你的数据库支持这个函数的话。这个主要用来在登录的时候登录名不区分大小写。

b)       修改rolesSQL参数以适应自己的定义要求

2.     此外,Stringbeans默认使用MD5进行密码加密。

设置JAAS验证

1.     为了使用JAAS,需要在webservice.xml中对JAAS验证Web service进行配置。(需要删除或者注释掉其它验证服务)。配置内容如下:

 jaas.JPG

修改必要的参数。loginAppName参数必须具体指定,登录应用名称必须和登录模块配置文件相符。

2.     创建一个登录模块配置文件。Stringbeans提供了一个登录模块配置文件,sb-jaas.login,在$STRINGBEANS_HOME/WEB-INF/目录下。这个配置文件指定了JAAS应用名称和使用的登录模块。下面这个例子显示登录应用是:“SbPortalLoginApp”,Stringbeans提供的登录模块是:“com.nabhinc.portal.spi.impl.jaas.DBLoginModule”。如果使用自己的模块实现,需要在这里进行定义。

SbPortalLoginApp {

    com.nabhinc.portal.spi.impl.jaas.DBLoginModule   required; 

      };

3.     修改java.security原文件。一般情况下该文件位于$JAVA_HOME/jre/lib/security文件夹下。

a)       增加login.config.url入口,并指向在第2步创建的登录配置文件。例如:

login.config.url.1=file:${tomcat-home}/webapps/stringbeans/WEB-INF/sb-jaas.login

注意:

      使用真实路径替换${tomcat-home}

b)       JAAS添加额外的授权,可以有两种方式:

                        i.              添加一个java.policy.url入口指向一个策略文件。Stringbeans提供了一个策略文件sb-jaas.policy,在$STRINGBEANS_HOME/WEB-INF/目录下,它为用户授权指定了必要的授权。java.security通常已经指定了默认的策略文件,比如java.policy。添加一个额外的策略文件的url入口,下面这个例子展示了如何添加第三方策略文件:

policy.url.3=file:${tomcat-home}/webapps/stringbeans/WEB-INF/sb-jaas.policy

                       ii.              $JAVA_HOME/jre/lib/security下的java.policy添加额外的授权

grant codeBase “file:${tomcat.home}/webapps/stringbeans/WEB-INF/lib” {
    permission javax.security.auth.AuthPermission “createLoginContext”;
    permission javax.security.auth.AuthPermission “modifyPrincipals”;
    permission javax.security.auth.AuthPermission “modifyPrivateCredentials”;
    permission javax.security.auth.AuthPermission “doAsPrivileged”;
  }

4.     下面这一步是可选的,对于使用Principal或者CallbackHandler类。

a)       你的CallbackHandler类必须实现StringbeansStringbeansCallbackHandler接口,并且指定上面提到的loginCallbackHandlerClass初始化参数。

b)       分别指定你的用户或角色Principal类到JAAS验证服务配置中的userPrincipalClassesrolePrincipalClasses。使用逗号来分隔类的名字,如果需要多个类的话。

欢迎光临我的小站:http://www.saasrv.cn

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值