USB Key等其他USB设备在View 桌面中映射问题
2012-02-07 11:09
351 查看
有个小项目需要用到单点登录。原先是说为了节省开发量所以就用CAS。但是看了半天的文档。折腾服务器。由于e文不好,搜了些中文文档来看。但是都是比较旧的cas版本的。而且基本上都是单机配置。容器也比较单一,基本上都是tomcat的。
为了避免后来人尽量减少折腾这里,把配置写出来。
您看到这篇文档的时候,可能cas又新增新的版本了,如果英文好的话,还是建议查看官网的文档.不好的话建议忍着头皮看,文档当然还是官网的好。
cas官网wiki地址: https://wiki.jasig.org/display/CASUM/Home
准备:
server环境:
ubuntu 10.10 32bit
jdk1.6
tomcat /usr/local目录下
client环境
windows 32bit
jdk1.6
jboss
cas版本号:
cas-server-3.4.3.1
cas-client-java-2.1.1
A:server https验证配置:下面所有的操作都在root用户下执行。
1.生成.keystore
$JAVA_HOME/bin/keytool -genkey -alias tomcat -keyalg RSA
其中第一个要求输入的域,必须为当前的机器命或者是域名。
我是修改了/etc/hosts 将当前ip映射为 testcas.com
所以在第一个输入域中填写的是testcas.com
国家那边如果是中国的话,需要填写CN
这样会生成在当前用户的根目录下就会生成/.keystore文件。我用的是root用户就是/root/.keystore .因为是隐藏文件夹。可以通过 ls -a /root 来查看文件是否生成成功。
2.修改tomcat https配置
tomcat文件夹下/conf/server.xml 查找到8443。tomcat默认是关闭https的。按照下面文档进行配置。
<Connector port="8443" protocol="HTTP/1.1" SSLEnabled="true"
maxThreads="150" scheme="https" secure="true"
clientAuth="false" sslProtocol="TLS"
keystoreFile="/root/.keystore"
keystorePass="changeit"
/>
其中keystoreFile是上方生成的.keystore的路径
keystorePass是设置的certificate的密码。
3.部署cas server
将cas/modules/cas-server-webapp-3.4.3.1.war 考到 tomcat/webapps 解压,重命名为cas。
修改/WEB-INF/deployerConfigContext.xml
我用的是mysql数据库,如果需要连其他的jdbc官网上有
需要在cas导入额外的jar包如下:
mysql-connector-java-5.0.8-bin.jar
commons-dbcp-1.4.jar
commons-pool-1.5.5.jar
cas-server-support-jdbc-3.4.3.1.jar
Org.springframework.jdbc-3.0.0.M4.jar //spring要根据自己的版本选择
Org.springframework.transaction-3.0.0.M4.jar
注释掉:
<bean class="org.jasig.cas.authentication.handler.support.SimpleTestUsernamePasswordAuthenticationHandler" />
替换:
<bean class="org.jasig.cas.adaptors.jdbc.SearchModeSearchDatabaseAuthenticationHandler" abstract="false" lazy-init="default" autowire="default">
<property name="dataSource" ref="casDataSource" />
<property name="tableUsers" value="users" /><!-- user table name-->
<property name="fieldUser" value="name"/>
<property name="fieldPassword" value="password"/>
<property name="passwordEncoder" ref="myPasswordEncoder"/>
</bean>
然后添加 casDataSource ,myPasswordEncoder bean
<!-- jdbc 链接-->
<bean id="casDataSource" class="org.apache.commons.dbcp.BasicDataSource">
<property name="driverClassName">
<value>com.mysql.jdbc.Driver</value>
</property>
<property name="url">
<value>jdbc:mysql://localhost:3306/test</value>
</property>
<property name="username">
<value>root</value>
</property>
<property name="password">
<value></value>
</property>
</bean>
<!-- md5 -->
<bean id="myPasswordEncoder" class="org.jasig.cas.authentication.handler.DefaultPasswordEncoder" autowire="byName">
<constructor-arg value="MD5"/>
</bean>
第一个bean是配置mysql jdbc
不解释了,程序员应该都看得懂的。
在client中修改hosts 添加 serverip testcas.com
访问https://testcas.com:8443/cas
输入验证信息,登录成功就行。
B. client 配置。
准备
在client中修改hosts 添加 serverip testcas.com
ping下 看能不能连上。
1.将server服务器的certificate添加到client服务器上,设置为可信。
在服务器端执行
keytool -export -alias tomcat -keypass changeit -file server.crt -keystore .keystore
keytool -import -alias jbosscert -keypass changeit -file server.crt -keystore server.keystore
拷出server.keystore到client服务器上。如: c:\server.keystore
修改client需要cas的应用的web.xml
添加:
<filter>
<filter-name>CAS Filter</filter-name>
<filter-class>edu.yale.its.tp.cas.client.filter.CASFilter</filter-class>
<init-param>
<param-name>edu.yale.its.tp.cas.client.filter.loginUrl</param-name>
<param-value>https://testcas.com:8443/cas/login</param-value>
</init-param>
<init-param>
<param-name>edu.yale.its.tp.cas.client.filter.validateUrl</param-name>
<param-value>https://testcas.com:8443/cas/serviceValidate</param-value>
</init-param>
<!-- 这里是client 应用的访问地址-->
<init-param>
<param-name>edu.yale.its.tp.cas.client.filter.serverName</param-name>
<param-value>localhost:8089</param-value>
</init-param>
<init-param>
<param-name>edu.yale.its.tp.cas.client.filter.wrapRequest</param-name>
<param-value>true</param-value>
</init-param>
</filter>
<filter-mapping>
<filter-name>CAS Filter</filter-name>
<url-pattern>/servlet/HelloWorldExample</url-pattern>
</filter-mapping>
<filter-name>CAS Filter</filter-name>
<url-pattern>/servlet/RequestHeaderExample</url-pattern>
</filter-mapping>
如果是直接从eclipse启动jboss的话,在run configuration中,修改sever的 arguments
添加vm arguments
-Djavax.net.ssl.trustStore = "c:/server.keystore"
启动就ok了
如果是命令启动的话
在jboss/bin/run.conf文件里JAVA_OPTS=.....里面加上
-Djavax.net.ssl.trustStore = "c:/server.keystore"
就行了
为了避免后来人尽量减少折腾这里,把配置写出来。
您看到这篇文档的时候,可能cas又新增新的版本了,如果英文好的话,还是建议查看官网的文档.不好的话建议忍着头皮看,文档当然还是官网的好。
cas官网wiki地址: https://wiki.jasig.org/display/CASUM/Home
准备:
server环境:
ubuntu 10.10 32bit
jdk1.6
tomcat /usr/local目录下
client环境
windows 32bit
jdk1.6
jboss
cas版本号:
cas-server-3.4.3.1
cas-client-java-2.1.1
A:server https验证配置:下面所有的操作都在root用户下执行。
1.生成.keystore
$JAVA_HOME/bin/keytool -genkey -alias tomcat -keyalg RSA
其中第一个要求输入的域,必须为当前的机器命或者是域名。
我是修改了/etc/hosts 将当前ip映射为 testcas.com
所以在第一个输入域中填写的是testcas.com
国家那边如果是中国的话,需要填写CN
这样会生成在当前用户的根目录下就会生成/.keystore文件。我用的是root用户就是/root/.keystore .因为是隐藏文件夹。可以通过 ls -a /root 来查看文件是否生成成功。
2.修改tomcat https配置
tomcat文件夹下/conf/server.xml 查找到8443。tomcat默认是关闭https的。按照下面文档进行配置。
<Connector port="8443" protocol="HTTP/1.1" SSLEnabled="true"
maxThreads="150" scheme="https" secure="true"
clientAuth="false" sslProtocol="TLS"
keystoreFile="/root/.keystore"
keystorePass="changeit"
/>
其中keystoreFile是上方生成的.keystore的路径
keystorePass是设置的certificate的密码。
3.部署cas server
将cas/modules/cas-server-webapp-3.4.3.1.war 考到 tomcat/webapps 解压,重命名为cas。
修改/WEB-INF/deployerConfigContext.xml
我用的是mysql数据库,如果需要连其他的jdbc官网上有
需要在cas导入额外的jar包如下:
mysql-connector-java-5.0.8-bin.jar
commons-dbcp-1.4.jar
commons-pool-1.5.5.jar
cas-server-support-jdbc-3.4.3.1.jar
Org.springframework.jdbc-3.0.0.M4.jar //spring要根据自己的版本选择
Org.springframework.transaction-3.0.0.M4.jar
注释掉:
<bean class="org.jasig.cas.authentication.handler.support.SimpleTestUsernamePasswordAuthenticationHandler" />
替换:
<bean class="org.jasig.cas.adaptors.jdbc.SearchModeSearchDatabaseAuthenticationHandler" abstract="false" lazy-init="default" autowire="default">
<property name="dataSource" ref="casDataSource" />
<property name="tableUsers" value="users" /><!-- user table name-->
<property name="fieldUser" value="name"/>
<property name="fieldPassword" value="password"/>
<property name="passwordEncoder" ref="myPasswordEncoder"/>
</bean>
然后添加 casDataSource ,myPasswordEncoder bean
<!-- jdbc 链接-->
<bean id="casDataSource" class="org.apache.commons.dbcp.BasicDataSource">
<property name="driverClassName">
<value>com.mysql.jdbc.Driver</value>
</property>
<property name="url">
<value>jdbc:mysql://localhost:3306/test</value>
</property>
<property name="username">
<value>root</value>
</property>
<property name="password">
<value></value>
</property>
</bean>
<!-- md5 -->
<bean id="myPasswordEncoder" class="org.jasig.cas.authentication.handler.DefaultPasswordEncoder" autowire="byName">
<constructor-arg value="MD5"/>
</bean>
第一个bean是配置mysql jdbc
不解释了,程序员应该都看得懂的。
在client中修改hosts 添加 serverip testcas.com
访问https://testcas.com:8443/cas
输入验证信息,登录成功就行。
B. client 配置。
准备
在client中修改hosts 添加 serverip testcas.com
ping下 看能不能连上。
1.将server服务器的certificate添加到client服务器上,设置为可信。
在服务器端执行
keytool -export -alias tomcat -keypass changeit -file server.crt -keystore .keystore
keytool -import -alias jbosscert -keypass changeit -file server.crt -keystore server.keystore
拷出server.keystore到client服务器上。如: c:\server.keystore
修改client需要cas的应用的web.xml
添加:
<filter>
<filter-name>CAS Filter</filter-name>
<filter-class>edu.yale.its.tp.cas.client.filter.CASFilter</filter-class>
<init-param>
<param-name>edu.yale.its.tp.cas.client.filter.loginUrl</param-name>
<param-value>https://testcas.com:8443/cas/login</param-value>
</init-param>
<init-param>
<param-name>edu.yale.its.tp.cas.client.filter.validateUrl</param-name>
<param-value>https://testcas.com:8443/cas/serviceValidate</param-value>
</init-param>
<!-- 这里是client 应用的访问地址-->
<init-param>
<param-name>edu.yale.its.tp.cas.client.filter.serverName</param-name>
<param-value>localhost:8089</param-value>
</init-param>
<init-param>
<param-name>edu.yale.its.tp.cas.client.filter.wrapRequest</param-name>
<param-value>true</param-value>
</init-param>
</filter>
<filter-mapping>
<filter-name>CAS Filter</filter-name>
<url-pattern>/servlet/HelloWorldExample</url-pattern>
</filter-mapping>
<filter-name>CAS Filter</filter-name>
<url-pattern>/servlet/RequestHeaderExample</url-pattern>
</filter-mapping>
如果是直接从eclipse启动jboss的话,在run configuration中,修改sever的 arguments
添加vm arguments
-Djavax.net.ssl.trustStore = "c:/server.keystore"
启动就ok了
如果是命令启动的话
在jboss/bin/run.conf文件里JAVA_OPTS=.....里面加上
-Djavax.net.ssl.trustStore = "c:/server.keystore"
就行了
相关文章推荐
- 通过VMDirectPath解决VMware ESXi访问USB和其他PCI设备的问题
- UICollectionView刷新Section引发的数据和其他问题
- 【iOS-Cocos2d游戏开发之七】添加/删除系统组件,并解决View设置透明会影响View中的其他组件的问题! 推荐
- 解决USB设备有时无法安全卸载的问题
- iphone-隐藏tabbar会出现空白,不能被其他view使用问题
- 解决绕过android下apk使用usb设备权限查询相应问题,自动获取usb权限
- Android截图包含webview时,webview部分空白(其他部分正常),此问题发生在系统4.4及以上
- 高德地图MapView和其他SurfaceView在同一个Activity中重叠显示透明问题
- 解决在Android设备播放音频与其他应用重音的问题,并监听耳机的控制按钮
- 自定义 viewpager 解决viewpager 嵌套到其他滚动父控件时候冲突的问题
- 如何在XenDesktop中映射USB设备 推荐
- windows7出现MTP usb设备驱动安装问题解决方法
- 【教你排除USB设备无法识别问题】
- Windows7/8/10中无法识别USB设备的问题解决
- usb设备插入开机后无法识别问题
- Android RecyclerView中item焦点乱跳问题(适用于PDA以及TV等带方向键的安卓设备)
- webview系列:webview的其他问题
- webview系列:webview的其他问题
- mini2440插入usb设备出现: unable to enumerate USB device on port问题的解决,以及使用super vivi对nand flash进行分区
- ScrollView、ListView、RecycleView嵌套其他的滑动布局引发的自动滑动问题