- 浏览: 447699 次
- 性别:
- 来自: 北京
文章分类
- 全部博客 (229)
- gef (1)
- emf (0)
- rcp (2)
- 杂谈 (3)
- draw2d (2)
- xml (1)
- spring (16)
- osgi (1)
- jsp (6)
- hibernate (8)
- j2se (41)
- oracle (25)
- js (23)
- ognl (1)
- struts2 (2)
- webwork (1)
- prototype (1)
- dwr (3)
- struts (7)
- axis2 (3)
- axis1 (6)
- lucene (9)
- pop3 (1)
- aspectj (1)
- 网络协议 (6)
- bat (6)
- Quartz (5)
- jms (3)
- jndi (7)
- 网络爬虫 (7)
- acegi (1)
- linux (5)
- 缓存 (1)
- mysql (1)
- 在使用Java处理图形应用时,经常有人推荐设置 -Djava.awt.headless=true,具体含义和效果查了一下,记录在这里分享 Headless模式是系统的一种配置模式。在该模式下,系统缺少了显示设备、键盘或鼠标。 Headless模式虽然不是我们愿意见到的,但事实上我们却常常需要在该模式下工作,尤其是服务器端程序开发者。因为服务器(如提供Web服务的主机)往往可能缺少前述设备,但又需要使用他们提供的功能,生成相应的数据,以提供给客户端(如浏览器所在的配有相关的显示设备、键盘和鼠标的主 (1)
最新评论
-
hanmiao:
注释掉的那壹行少了壹個斜线,楼主...
servlet导出excel -
天下无贼:
Thread.Interrupt方法,只是通过扔出异常的方式, ...
Java Thread.interrupt 害人! 中断JAVA线程(zz) -
天下无贼:
呵呵,是你自己写错了。
Java Thread.interrupt 害人! 中断JAVA线程(zz) -
MO_ZHUANG_D:
如果是真的就感激不尽了
Axure RP教程 -
小嘴冰凉:
在开始执行的时候,如果是数据库存储,程序会从数据库中查job信 ...
quartz的持久化
目的:使用单点登录系统统一管理各子系统的用户登录登出,并提供一个统一的集成页面,方便用户在各系统之间的快速切换。
环境:cas-server-3.3.1,cas-client-2.0.11
一:配置服务器端的数字证书
1,生成数字证书
./keytool -genkey -alias examplecas -keypass changeit -keyalg RSA -keystore server.keystore
2,导出数字证书
./keytool -export -alias examplecas -keypass changeit -file server.crt -keystore server.keystore
3,将数字证书导入jre的可信区
./keytool -import -alias examplecas -file server.crt -keypass changeit -keystore ../jre/lib/security/cacerts
其他的一些命令:
查看可信证书列表(检查证书是否加入成功)
./keytool -list -keystore ../jre/lib/security/cacerts
常用命令:
-genkey 在用户主目录中创建一个默认文件".keystore",还会产生一个mykey的别名,mykey中包含用户的公钥、私钥和证书
-alias 产生别名
-keystore 指定密钥库的名称(产生的各类信息将不在.keystore文件中
-keyalg 指定密钥的算法
-validity 指定创建的证书有效期多少天
-keysize 指定密钥长度
-storepass 指定密钥库的密码
-keypass 指定别名条目的密码
-dname 指定证书拥有者信息例如: "CN=firstName,OU=org,O=bj,L=bj,ST=gd,C=cn"
-list 显示密钥库中的证书信息 keytool -list -v -keystore 别名 -storepass ....
-v 显示密钥库中的证书详细信息
-export 将别名指定的证书导出到文件 keytool -export -alias 别名 -file 文件名.crt
-file 参数指定导出到文件的文件名
-delete 删除密钥库中某条目 keytool -delete -alias 别名 -keystore sage
-keypasswd 修改密钥库中指定条目口令 keytool -keypasswd -alias 别名 -keypass .... -new .... -storepass ... -keystore 别名
-import 将已签名数字证书导入密钥库 keytool -import -alias 别名 -keystore 证书名-file 文件名(可以加.crt 后缀)
注意:
1,生成数字证书的时候必须使用主机名或者域名作为证书名称(CN),
例如sso.example.com(CN=sso.example.com, OU=example, O=example, L=beijing, ST=beijing, C=china)
2,检查JAVA_HOME环境变量(echo $JAVA_HOME),确认tomcat使用了那一个jre(有时候一台机器上会有
多个jre),需要将生成的证书文件导入至web服务器使用的那个jre的信任证书列表中,可以使用keytool -list
命令检查证书是否导入成功。
二:配置服务器端tomcat 6.0(server.xml)
打开被注释掉的https配置区,添加keystoreFile,keystorePass,truststoreFile属性配置。
Xml代码
<Connector port="8443" protocol="HTTP/1.1" SSLEnabled="true"
maxThreads="150" scheme="https" secure="true"
clientAuth="false" sslProtocol="TLS"
keystoreFile="/usr/java/default/bin/server.keystore"
keystorePass="changeit"
truststoreFile="/usr/java/default/jre/lib/security/cacerts"
/>
<Connector port="8443" protocol="HTTP/1.1" SSLEnabled="true"
maxThreads="150" scheme="https" secure="true"
clientAuth="false" sslProtocol="TLS"
keystoreFile="/usr/java/default/bin/server.keystore"
keystorePass="changeit"
truststoreFile="/usr/java/default/jre/lib/security/cacerts"
/>
如果需要则为cas server配置虚拟主机
Xml代码
<Host name="sso.example.com" appBase="webapps"
unpackWARs="true" autoDeploy="true"
xmlValidation="false" xmlNamespaceAware="false">
</Host>
<Host name="sso.example.com" appBase="webapps"
unpackWARs="true" autoDeploy="true"
xmlValidation="false" xmlNamespaceAware="false">
</Host>
将cas-server-3.3.1-release\cas-server-3.3.1\modules\cas-server-webapp-3.3.1.war解压并
放至 webapps/cas3目录后,可通过https://sso.example.com:8443/cas3/login 访问cas server登录页面。
三:配置一个最简单的cas server端。
1,新建数据表
Sql代码
create table users
(
id int not null auto_increment,
username varchar(50) not null,
password varchar(50) not null,
primary key (id)
);
create table users
(
id int not null auto_increment,
username varchar(50) not null,
password varchar(50) not null,
primary key (id)
);
user表中添加需要认证的用户数据。
2,在 WebRoot/WEB-INF/spring-configuration/文件夹下新建一个spring的配置文件,配置dataSource对象
3,修改WebRoot/WEB-INF/deployerConfigContext.xml配置文件,将:
Xml代码
<bean class="org.jasig.cas.authentication.handler.support.SimpleTestUsernamePasswordAuthenticationHandler" />
<bean class="org.jasig.cas.authentication.handler.support.SimpleTestUsernamePasswordAuthenticationHandler" />
替换为:
Xml代码
<bean class="org.jasig.cas.adaptors.jdbc.QueryDatabaseAuthenticationHandler">
<property name="sql" value="select password from users where username=?" />
<property name="dataSource" ref="dataSource" />
</bean>
<bean class="org.jasig.cas.adaptors.jdbc.QueryDatabaseAuthenticationHandler">
<property name="sql" value="select password from users where username=?" />
<property name="dataSource" ref="dataSource" />
</bean>
四:配置客户端服务器。
客户端的服务器同样需要导入服务器端生成的数字证书,否则在cas server回调客户端页面的时候将会抛出以下异常:
Java代码
javax.servlet.ServletException: javax.net.ssl.SSLHandshakeException: sun.security.validator.ValidatorException: PKIX path building failed: sun.security.provider.certpath.SunCertPathBuilderException: unable to find valid certification path to requested target
edu.yale.its.tp.cas.client.filter.CASFilter.getAuthenticatedUser(CASFilter.java:254)
edu.yale.its.tp.cas.client.filter.CASFilter.doFilter(CASFilter.java:184)
javax.servlet.ServletException: javax.net.ssl.SSLHandshakeException: sun.security.validator.ValidatorException: PKIX path building failed: sun.security.provider.certpath.SunCertPathBuilderException: unable to find valid certification path to requested target
edu.yale.its.tp.cas.client.filter.CASFilter.getAuthenticatedUser(CASFilter.java:254)
edu.yale.its.tp.cas.client.filter.CASFilter.doFilter(CASFilter.java:184)
提示找不到有效的证书路径。
配置步骤:
1,拷贝服务器端生成的server.crt文件至客户端jre/bin目录下
2,执行:
C:\Program Files\Java\jre1.6.0_06\bin>keytool -import -alias examplecas -file server.crt -keypass changeit -keystore ..\lib\security\cacerts
3,查看是否添加成功
C:\Program Files\Java\jre1.6.0_06\bin>keytool -list -keystore ..\lib\security\cacerts
五:修改客户端增加单点登录支持。
1,修改web.xml文件:
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://sso.example.com:8443/cas3/login</param-value>
</init-param>
<init-param>
<param-name>edu.yale.its.tp.cas.client.filter.validateUrl</param-name>
<param-value>https://sso.example.com:8443/cas3/serviceValidate</param-value>
</init-param>
<init-param>
<param-name>edu.yale.its.tp.cas.client.filter.serverName</param-name>
<param-value>sso.example.com</param-value>
</init-param>
</filter>
<filter-mapping>
<filter-name>CAS Filter</filter-name>
<url-pattern>/portal/portal.jsp</url-pattern>
</filter-mapping>
<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://sso.example.com:8443/cas3/login</param-value>
</init-param>
<init-param>
<param-name>edu.yale.its.tp.cas.client.filter.validateUrl</param-name>
<param-value>https://sso.example.com:8443/cas3/serviceValidate</param-value>
</init-param>
<init-param>
<param-name>edu.yale.its.tp.cas.client.filter.serverName</param-name>
<param-value>sso.example.com</param-value>
</init-param>
</filter>
<filter-mapping>
<filter-name>CAS Filter</filter-name>
<url-pattern>/portal/portal.jsp</url-pattern>
</filter-mapping>
2,增加子系统的登录接口,支持集成页面(portal.jsp)的访问请求。
例如,老系统的登录页面和主页面分别是login.jsp,main.jsp(login.jsp负责验证用户是否合法,合法则将用户
数据存入该系统的session对象当中,main.jsp负责分配用户在该系统内的访问权限及页面的初始化),为了不影
响老系统的正常访问,尽可能保证独立性可以实现两个仅供portal.jsp调用的类似页面(cas-login.jsp,cas-main.jsp).
cas-login.jsp中可以获得cas server传递给我们的用户名称。
Java代码
String username = (String)session.getAttribute(CASFilter.CAS_FILTER_USER);
String username = (String)session.getAttribute(CASFilter.CAS_FILTER_USER);
根据获得的用户名称再去本地数据库查找用户信息,完成验证及角色权限初始化的工作。
六:总结一下:
1,单点登录仅仅帮助我们在各个子系统中间安全的共享了一下用户名,省去了用户重复登陆的麻烦,统一了用户
帐户的管理,至于用户在每个系统中的权限分配,还是继续交给子系统完成吧。可以开发一个cas server端的
集成界面(portal),方便用户在各个子系统中间的快速切换。
2,为了完善cas server的用户管理功能,需要在cas 的server,client端各自开放几个调用接口,保证子系统与
cas server端的账户信息同步。
3,改造老系统时尽量为portal的集成开发新的访问入口(而不是去修改以前的代码使之兼容),这样既可以从集
成portal访问,又可以从原有的访问地址访问。
4,配置server端及client的服务器时候一定要找对tomcat究竟在使用那一个jre,windows上查看
%JAVA_HOME%变量,linux上echo $JAVA_HOME.
5,server端及client端的服务器均需要导入数字证书,否则cas server端回调客户端页面时将会抛出:
PKIX path building failed: sun.security.provider.certpath.SunCertPathBuilderException: unable to find valid certification path to requested target
异常。
环境:cas-server-3.3.1,cas-client-2.0.11
一:配置服务器端的数字证书
1,生成数字证书
./keytool -genkey -alias examplecas -keypass changeit -keyalg RSA -keystore server.keystore
2,导出数字证书
./keytool -export -alias examplecas -keypass changeit -file server.crt -keystore server.keystore
3,将数字证书导入jre的可信区
./keytool -import -alias examplecas -file server.crt -keypass changeit -keystore ../jre/lib/security/cacerts
其他的一些命令:
查看可信证书列表(检查证书是否加入成功)
./keytool -list -keystore ../jre/lib/security/cacerts
常用命令:
-genkey 在用户主目录中创建一个默认文件".keystore",还会产生一个mykey的别名,mykey中包含用户的公钥、私钥和证书
-alias 产生别名
-keystore 指定密钥库的名称(产生的各类信息将不在.keystore文件中
-keyalg 指定密钥的算法
-validity 指定创建的证书有效期多少天
-keysize 指定密钥长度
-storepass 指定密钥库的密码
-keypass 指定别名条目的密码
-dname 指定证书拥有者信息例如: "CN=firstName,OU=org,O=bj,L=bj,ST=gd,C=cn"
-list 显示密钥库中的证书信息 keytool -list -v -keystore 别名 -storepass ....
-v 显示密钥库中的证书详细信息
-export 将别名指定的证书导出到文件 keytool -export -alias 别名 -file 文件名.crt
-file 参数指定导出到文件的文件名
-delete 删除密钥库中某条目 keytool -delete -alias 别名 -keystore sage
-keypasswd 修改密钥库中指定条目口令 keytool -keypasswd -alias 别名 -keypass .... -new .... -storepass ... -keystore 别名
-import 将已签名数字证书导入密钥库 keytool -import -alias 别名 -keystore 证书名-file 文件名(可以加.crt 后缀)
注意:
1,生成数字证书的时候必须使用主机名或者域名作为证书名称(CN),
例如sso.example.com(CN=sso.example.com, OU=example, O=example, L=beijing, ST=beijing, C=china)
2,检查JAVA_HOME环境变量(echo $JAVA_HOME),确认tomcat使用了那一个jre(有时候一台机器上会有
多个jre),需要将生成的证书文件导入至web服务器使用的那个jre的信任证书列表中,可以使用keytool -list
命令检查证书是否导入成功。
二:配置服务器端tomcat 6.0(server.xml)
打开被注释掉的https配置区,添加keystoreFile,keystorePass,truststoreFile属性配置。
Xml代码
<Connector port="8443" protocol="HTTP/1.1" SSLEnabled="true"
maxThreads="150" scheme="https" secure="true"
clientAuth="false" sslProtocol="TLS"
keystoreFile="/usr/java/default/bin/server.keystore"
keystorePass="changeit"
truststoreFile="/usr/java/default/jre/lib/security/cacerts"
/>
<Connector port="8443" protocol="HTTP/1.1" SSLEnabled="true"
maxThreads="150" scheme="https" secure="true"
clientAuth="false" sslProtocol="TLS"
keystoreFile="/usr/java/default/bin/server.keystore"
keystorePass="changeit"
truststoreFile="/usr/java/default/jre/lib/security/cacerts"
/>
如果需要则为cas server配置虚拟主机
Xml代码
<Host name="sso.example.com" appBase="webapps"
unpackWARs="true" autoDeploy="true"
xmlValidation="false" xmlNamespaceAware="false">
</Host>
<Host name="sso.example.com" appBase="webapps"
unpackWARs="true" autoDeploy="true"
xmlValidation="false" xmlNamespaceAware="false">
</Host>
将cas-server-3.3.1-release\cas-server-3.3.1\modules\cas-server-webapp-3.3.1.war解压并
放至 webapps/cas3目录后,可通过https://sso.example.com:8443/cas3/login 访问cas server登录页面。
三:配置一个最简单的cas server端。
1,新建数据表
Sql代码
create table users
(
id int not null auto_increment,
username varchar(50) not null,
password varchar(50) not null,
primary key (id)
);
create table users
(
id int not null auto_increment,
username varchar(50) not null,
password varchar(50) not null,
primary key (id)
);
user表中添加需要认证的用户数据。
2,在 WebRoot/WEB-INF/spring-configuration/文件夹下新建一个spring的配置文件,配置dataSource对象
3,修改WebRoot/WEB-INF/deployerConfigContext.xml配置文件,将:
Xml代码
<bean class="org.jasig.cas.authentication.handler.support.SimpleTestUsernamePasswordAuthenticationHandler" />
<bean class="org.jasig.cas.authentication.handler.support.SimpleTestUsernamePasswordAuthenticationHandler" />
替换为:
Xml代码
<bean class="org.jasig.cas.adaptors.jdbc.QueryDatabaseAuthenticationHandler">
<property name="sql" value="select password from users where username=?" />
<property name="dataSource" ref="dataSource" />
</bean>
<bean class="org.jasig.cas.adaptors.jdbc.QueryDatabaseAuthenticationHandler">
<property name="sql" value="select password from users where username=?" />
<property name="dataSource" ref="dataSource" />
</bean>
四:配置客户端服务器。
客户端的服务器同样需要导入服务器端生成的数字证书,否则在cas server回调客户端页面的时候将会抛出以下异常:
Java代码
javax.servlet.ServletException: javax.net.ssl.SSLHandshakeException: sun.security.validator.ValidatorException: PKIX path building failed: sun.security.provider.certpath.SunCertPathBuilderException: unable to find valid certification path to requested target
edu.yale.its.tp.cas.client.filter.CASFilter.getAuthenticatedUser(CASFilter.java:254)
edu.yale.its.tp.cas.client.filter.CASFilter.doFilter(CASFilter.java:184)
javax.servlet.ServletException: javax.net.ssl.SSLHandshakeException: sun.security.validator.ValidatorException: PKIX path building failed: sun.security.provider.certpath.SunCertPathBuilderException: unable to find valid certification path to requested target
edu.yale.its.tp.cas.client.filter.CASFilter.getAuthenticatedUser(CASFilter.java:254)
edu.yale.its.tp.cas.client.filter.CASFilter.doFilter(CASFilter.java:184)
提示找不到有效的证书路径。
配置步骤:
1,拷贝服务器端生成的server.crt文件至客户端jre/bin目录下
2,执行:
C:\Program Files\Java\jre1.6.0_06\bin>keytool -import -alias examplecas -file server.crt -keypass changeit -keystore ..\lib\security\cacerts
3,查看是否添加成功
C:\Program Files\Java\jre1.6.0_06\bin>keytool -list -keystore ..\lib\security\cacerts
五:修改客户端增加单点登录支持。
1,修改web.xml文件:
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://sso.example.com:8443/cas3/login</param-value>
</init-param>
<init-param>
<param-name>edu.yale.its.tp.cas.client.filter.validateUrl</param-name>
<param-value>https://sso.example.com:8443/cas3/serviceValidate</param-value>
</init-param>
<init-param>
<param-name>edu.yale.its.tp.cas.client.filter.serverName</param-name>
<param-value>sso.example.com</param-value>
</init-param>
</filter>
<filter-mapping>
<filter-name>CAS Filter</filter-name>
<url-pattern>/portal/portal.jsp</url-pattern>
</filter-mapping>
<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://sso.example.com:8443/cas3/login</param-value>
</init-param>
<init-param>
<param-name>edu.yale.its.tp.cas.client.filter.validateUrl</param-name>
<param-value>https://sso.example.com:8443/cas3/serviceValidate</param-value>
</init-param>
<init-param>
<param-name>edu.yale.its.tp.cas.client.filter.serverName</param-name>
<param-value>sso.example.com</param-value>
</init-param>
</filter>
<filter-mapping>
<filter-name>CAS Filter</filter-name>
<url-pattern>/portal/portal.jsp</url-pattern>
</filter-mapping>
2,增加子系统的登录接口,支持集成页面(portal.jsp)的访问请求。
例如,老系统的登录页面和主页面分别是login.jsp,main.jsp(login.jsp负责验证用户是否合法,合法则将用户
数据存入该系统的session对象当中,main.jsp负责分配用户在该系统内的访问权限及页面的初始化),为了不影
响老系统的正常访问,尽可能保证独立性可以实现两个仅供portal.jsp调用的类似页面(cas-login.jsp,cas-main.jsp).
cas-login.jsp中可以获得cas server传递给我们的用户名称。
Java代码
String username = (String)session.getAttribute(CASFilter.CAS_FILTER_USER);
String username = (String)session.getAttribute(CASFilter.CAS_FILTER_USER);
根据获得的用户名称再去本地数据库查找用户信息,完成验证及角色权限初始化的工作。
六:总结一下:
1,单点登录仅仅帮助我们在各个子系统中间安全的共享了一下用户名,省去了用户重复登陆的麻烦,统一了用户
帐户的管理,至于用户在每个系统中的权限分配,还是继续交给子系统完成吧。可以开发一个cas server端的
集成界面(portal),方便用户在各个子系统中间的快速切换。
2,为了完善cas server的用户管理功能,需要在cas 的server,client端各自开放几个调用接口,保证子系统与
cas server端的账户信息同步。
3,改造老系统时尽量为portal的集成开发新的访问入口(而不是去修改以前的代码使之兼容),这样既可以从集
成portal访问,又可以从原有的访问地址访问。
4,配置server端及client的服务器时候一定要找对tomcat究竟在使用那一个jre,windows上查看
%JAVA_HOME%变量,linux上echo $JAVA_HOME.
5,server端及client端的服务器均需要导入数字证书,否则cas server端回调客户端页面时将会抛出:
PKIX path building failed: sun.security.provider.certpath.SunCertPathBuilderException: unable to find valid certification path to requested target
异常。
发表评论
-
java泛型中的上界下界(上限下限) (转)
2013-01-23 18:02 1052java泛型中的super关键字不太常用,也不太好理解,今天又 ... -
Ant中过滤器的使用
2011-12-07 20:06 946Ant中过滤器的使用 <?xml version=&q ... -
将实体声明和实体引用读入 DOM
2011-06-17 17:10 1252实体是一个声明,指定 ... -
多线程编程 实战篇 (四)
2010-12-07 17:48 983[线程的中断] 不客气地 ... -
Java Thread.interrupt 害人! 中断JAVA线程(zz)
2010-12-07 17:42 3700程序是很简易的。然而,在编程人员面前,多线程呈现出了一组新的难 ... -
Flex+%2B+LCDS+%2B+Java+入门教程
2010-09-03 16:07 805Flex+LCDS+Java+入门教程 -
Flex完全自学入门手册
2010-09-03 13:08 855http://lichen.blog.51cto.com/69 ... -
java 5 多线程sun教程
2010-05-21 10:43 1121http://gceclub.sun.com.cn/Concu ... -
ibm的nio教程
2010-04-12 18:13 1110ibm的nio教程 -
cas单点登陆
2009-12-17 17:05 798http://blog.csdn.net/DL88250/ar ... -
Tomcat SSL配置大全
2009-12-17 16:13 1096由于配置CAS的单点登陆系统,需要先配置Tomcat的SSL, ... -
Thread.getContextClassLoader() 详解
2009-12-17 12:24 1134答 : 这个问题经常出现在编写框架代码 , 需要动态加载很多类 ... -
Session知识共享
2009-12-09 17:02 922摘要:虽然session机制在 ... -
跨应用程序的session共享
2009-12-09 15:03 2305原创 跨应用程序的session共享 收藏 常常有这样的情况 ... -
HTTP代理如何正确处理Cookie
2009-12-09 14:15 1502大多数的 Web 应用程序 ... -
使用HttpURLConnection类(利用sessionId保持会话
2009-12-09 11:19 5518TestServlet.java package n ... -
使用HttpURLConnection获得重定向地址
2009-12-09 09:37 1761今天跟TiGERTiAN谈到HttpURLConnec ... -
java多线程之 wait(),notify(),notifyAll()
2009-12-01 11:38 913java多线程之 wait(),notify(),notify ... -
Callable 和 Future
2009-12-01 11:28 1666天在书上看到callable和future这个两个东东,以前没 ... -
重载和覆盖
2009-11-17 10:02 836override可以翻译为覆盖,从字面就可以知道,它是覆盖了一 ...
相关推荐
这个资源是一个CAS(Central Authentication Service)单点登录演示项目,用于展示如何实现基于CAS的单点登录系统。CAS是一种常用的身份认证和授权解决方案,适用于分布式系统中的用户身份验证。该演示项目将通过...
的项目。 最开始以 [Best Practice - Setting Up CAS Locally using the Maven2 WAR Overlay Method] () 为指导, 后续又作了很多扩展。主要内容包括: 实现了 Generic(server-generic), Jdbc(server-jdbc), LDAP...
基于LDAP的CAS单点登录系统设计,详细的解决方案,是做项目实践的好参考
CAS单点登录的方案很多,并且大多数都是采用session的方式,而本文结合个人实践,着重讨论django cas token的解决方案。 本方案中,cas客户端和服务端都采用了开源项目,服务端是django-mama-cas,而客户端是django-...
本文主要介绍了容器化Java应用程序的步骤和最佳实践。步骤包括:选择合适的基础镜像、准备Java应用程序、配置Dockerfile、构建Docker镜像、运行Docker容器、访问Docker容器中的Java应用程序、发布Docker镜像。最佳...
原生Java、Fastjson、Jackson、Hessian2、XML反序列化漏洞利用和Spring、Dubbo、Shiro、CAS、Tomcat、RMI、Nexus等框架\中间件\功能的exploitsJava Security Manager绕过、Dubbo-Hessian2安全等实践代码。...
Java 分布式项(SSM、分布式Dubbo、全文检索Solr、Vue、Zookeeper、文件系统FastDFS、缓存Redis、单点登录CAS,权限控制Spring Security,跨域CORS) 技术选型 后端框架采用 Spring + SpringMVC + MyBatis + DubboX...
Spring Boot项目实践 Java体系知识点汇总: : 网站资源链接 S3基本使用事件 数据库隔离等级验证 常用JVM命令验证 AOP实用技巧;某些打日志等 m3u解析器 知识汇总:::: 其他 GIT地址 UI资源 , 限流算法...
本项目仅用于安全研究,禁止使用本项目发起非法攻击,造成的后果使用者负责 这是一个个人用于复现、公开一些感兴趣、或者影响稍大的漏洞的项目,没有多少技术含量,权当个人技术笔记。 fastjson 该模块主要记录一些...
该研究项目旨在调查CAS的中小型企业实践,并确定影响马六甲中小型企业采用中小型企业的因素。 通过一系列问卷调查进行了调查,以检查首席执行官的创新因素量表,感知有用性量表,感知易用性量表和业务竞争力。 所...
jbone是基于Spring Cloud开发的项目群,是对Spring Cloud微服务架构的综合应用实践和基础开发框架 功能架构图 项目成员 项目名 简介 项目地址 jbone-sso 单点登录模块 , jbone服务管理 服务管理模块(包含注册中心...
随着十多年来数 字城市项目的开展, 目前国内各大城市都 构建了较好的城市信息化基础设施, 给智 慧城市建设提供了海量的城市大数据: 在 市民家庭方面, 移动电话、 有线电视、 宽带 网络基本普及;在政府层面, ...
因此我基于springboot开发了该系统,为大家提供一个开发的基础框架、一个可以生成前后端简单业务代码的系统、一个包含了许多个人的最佳实践的项目。开始下载代码后,在Mysql中创建数据库并执行代码中的boot.sql生成...