1、JOSSO单点登录网关
1.1进入josso/bin目录,执行josso-gsh命令
1.2 安装JOSSO的核心Gateway,执行命令
gateway install --target <JBOSS_HOME> --jboss-instance default - platform jb42
此命令实际上执行了如下操作:
1.2.1 Copy <JOSSO_HOME> \dist\gateway\config目录下文件至<JBOSS_HOME>\ server\default\conf目录下
1.2.2 Copy <JOSSO_HOME> \dist\gateway\apps目录下josso-gateway-web-1.8.0.war包至<JBOSS_HOME>\ server\default\deploy目录下,并重命名为josso.war
2、参与单点登录的Web
2.1进入josso/bin目录,执行josso-gsh命令
2.2安装JOSSO的agent,执行命令
agent install --target <JBOSS_HOME> --jboss-instance default --platform jb42
此命令实际上执行了如下操作:
2.2.1修改JBOSS JAAS(Java Authentication Authorization Service)验证
注释默认验证: <Realm className="org.jboss.web.tomcat.security.JBossSecurityMgrRealm"
修改%JAVA_HOME%\server\default\deploy\jboss-web.deployer目录下的server.xml的JAAS验证,用SSO验证,添加
<Realm className="org.josso.jb42.agent.JBossCatalinaRealm" appName="josso"
userClassNames="org.josso.gateway.identity.service.BaseUserImpl"
roleClassNames="org.josso.gateway.identity.service.BaseRoleImpl" debug="1" />
2.2.2修改%JBOSS_HOME%\server\default\conf目录下的login-config.xml文件
添加Josso的login模型。
<application-policy name = "josso">
<authentication>
<login-module code ="org.josso.jb4.agent.JBossSSOGatewayLoginModule" flag= "required">
<module-option name="debug">true</module-option>
</login-module>
</authentication>
</application-policy>
2.2.3修改%JAVA_HOME%\server\default\deploy\jboss-web.deployer目录下的server.xml大约在87行,在下面的代码后面添加SSO代理,在Host节点中添加SSO代理
<Valve className="org.josso.tc55.agent.SSOAgentValve" debug="1"/>
2.2.4在<JBOSS_HOME>\ server\default\conf目录下新建josso-agent-config.xml文件,此文件可在下载的JOSSO包中找到,服务器版本不同,此文件都不同,主要配置修改2个地方
<!-- Gateway LOGIN and LOGOUT URLs -->
<gatewayLoginUrl>http://localhost:8080/josso/signon/login.do</gatewayLoginUrl>
<gatewayLogoutUrl>http://localhost:8080/josso/signon/logout.do</gatewayLogoutUrl>
这里是配置josso服务器的login和logout的url
需要加入认证的app
<agent:partner-apps>
<!-- Simple definition of a partner application -->
<agent:partner-app id="MySimplePartnerApp" context="/simple-partnerapp"/>
<agent:partner-app id="MyPartnerApp1" context="/partnerapp" >
</agent:partner-apps>
2.2.5 从<JOSSO_HOME>\lib目录COPY相关jar包到<JBOSS_HOME>\server\default\lib目录
2.3对Web应用进行改造
2.3.1 修改web.xml 安全策略
修改Web应用的web.xml文件,在其最后添加<security-constraint>、<security- role>等配置,设置相应Web应用中哪些角色对应用哪些资源具有访问权限,即在这里可以根据需要配置不同的角色,对应于不同的资源访问权限。如:
<security-constraint>
<!-- Sample Security Constraint -->
<web-resource-collection>
<!-- We're going to protect this resource and make it available only to users in "role1". -->
<web-resource-name>public-resources</web-resource-name>
<url-pattern>/resources/*</url-pattern>
<http-method>HEAD</http-method>
<http-method>GET</http-method>
<http-method>POST</http-method>
<http-method>PUT</http-method>
<http-method>DELETE</http-method>
</web-resource-collection>
<!--
No roles required, it means that this are public resources !
Usefull to tell JOSSO that resources matching this security constraint
should not be subject to SSO protection.
-->
</security-constraint>
<security-constraint>
<!-- Sample Security Constraint -->
<web-resource-collection>
<!-- We're going to protect this resource and make it available only to users in "role1". -->
<web-resource-name>protected-resources</web-resource-name>
<url-pattern>/*</url-pattern>
<http-method>HEAD</http-method>
<http-method>GET</http-method>
<http-method>POST</http-method>
<http-method>PUT</http-method>
<http-method>DELETE</http-method>
</web-resource-collection>
<!-- NOTE: This role names will be retrieved by Josso using the proper identity store. -->
<auth-constraint>
<role-name>role1</role-name>
</auth-constraint>
<user-data-constraint>
<transport-guarantee>NONE</transport-guarantee>
</user-data-constraint>
</security-constraint>
<!-- We only need tomcat to redirect the user -->
<login-config>
<auth-method>FORM</auth-method>
<form-login-config>
<!--
NOTE: This will redirect the user to the proper login page provided by JOSSO.
-->
<form-login-page>/login-redirect.jsp</form-login-page>
<form-error-page>/login-redirect.jsp</form-error-page>
</form-login-config>
</login-config>
<security-role >
<description>Role 1</description>
<role-name>role1</role-name>
</security-role>
在项目根目录下新增login-redirect.jsp页面,代码如下:
<%@page contentType="text/html; charset=UTF-8" language="java" session="true" %>
<!--
Redirects the user to the proper login page. Configured as the login url the web.xml for this application.
-->
<%response.sendRedirect(request.getContextPath() + "/josso_login/");%>
2.3.2 修改jboss-web.xml
设置<security-domain>,必须与login-config.xml中的josso login模型名称一致,我这里名称为josso,故配置为java:/jaas/josso,如:
<jboss-web>
<security-domain>java:/jaas/josso</security-domain>
<context-root>/</context-root>
</jboss-web>
-----------------------------------------------------------------------------------------------------
相关推荐
在上述配置文件中,我们可以看到josso服务器的配置信息,包括认证服务器的配置、JDBC连接配置和身份验证scheme配置等。这些配置信息将被用来实现josso服务器的身份验证和授权功能。 配置josso服务器需要将josso war...
在实际部署过程中,首先需要安装和配置JOSSO服务器,然后为每个需要SSO功能的应用系统安装并配置Agent。配置过程可能涉及到设置Agent与服务器的通信方式,配置应用系统的认证策略,以及管理用户和角色。JOSSO的灵活...
配置Apache Tomcat执行环境时,需要在JOSSO的“Execution Environments”画布中创建一个新的元素。首先,指定唯一标识符(Name)、描述性文本(Description)以及Tomcat的版本(Version)。可以选择5.0.x、5.5.x或...
1. **配置 JOSSO**:首先需要在服务器上安装和配置 JOSSO。这包括设置 JOSSO 的基本参数、定义信任关系等。 2. **集成现有 Web 应用**:接下来,需要对现有的 Web 应用进行简单的配置,使其能够与 JOSSO 交互。这...
2. **配置Josso与GlassFish集成:** - **部署Josso网关应用**: 1. 将Josso安装包中的`josso-gateway-web-1.8.0.war`文件复制到GlassFish的`domains/domain1/autodeploy`目录下。 2. 等待GlassFish自动部署该WAR...
- 在`josso-gateway-db-stores.xml`中配置数据库信息,确保`db-store:jdbc-store`正确配置MySQL数据库的信息。 #### 五、MD5加密技术应用 为了提高数据的安全性,在数据库中存储用户密码时采用MD5加密算法是非常...
使用"python-josso-auth"时,开发人员需要先将其安装到Python环境中。这可以通过Python的包管理工具pip来完成,命令如下: ```bash pip install python-josso-auth==0.1.3 ``` 安装完成后,可以导入库并根据文档或源...
通过访问JOSSO的文档,可以获取更多关于如何安装、配置和维护josso2-2.4.3的详细信息。这些文档通常会涵盖从安装指南到故障排查的所有内容,帮助用户更好地理解和利用这个强大的SSO解决方案。 总之,JOSSO 2.4.3为...
在这样的系统中,用户首先通过 CAS 或 JOSSO 进行身份验证,然后根据他们在 LDAP 服务器上存储的信息和他们的角色,系统将应用 RBAC 和 ACL 来决定他们可以访问哪些资源。整个设计的目标是创建一个安全、高效、易于...
CAS单点登录产品具有很多优点,如减少用户在不同系统中登录耗费的时间,减少用户登录出错的可能性,实现安全的同时避免了处理和保存多套系统用户的认证信息,减少了系统管理员增加、删除用户和修改用户权限的时间,...
5. **配置JOSSO**:学习如何在JOSSO Server上配置认证服务,以及如何在应用中集成SSO Agent。 6. **安全考虑**:了解SSO带来的安全挑战,如会话劫持、CSRF攻击等,并知道如何防范。 7. **调试与日志**:熟悉如何查看...
2. **修改服务器配置**:在Apache Tomcat这样的Web服务器中,需要编辑`server.xml`配置文件来启用SSL连接。这涉及到设置端口号、SSL连接器的属性,例如keystore文件的位置、密码和SSL协议。 3. **CAS服务器的部署**...
总的来说,Spring Security 是一个强大的安全框架,它为开发者提供了广泛的身份验证和授权选项,简化了安全配置,并允许在多种环境中无缝迁移。无论是在大型企业还是小型项目中,都能找到适合的安全解决方案。通过...
单点登录(Single Sign-On,简称SSO)是一种身份验证技术,它允许用户在通过一次登录验证后,无须再次输入凭证即可访问多个相互关联的应用系统。这一技术大大提升了用户体验,减少了用户记忆和输入多个密码的负担,...
例如,建立一个中心化的用户名映射机制,将用户在Portal系统中的信息与其他系统中的信息关联起来,这可以通过数据库、LDAP或者文件系统来实现。确保这些系统间的数据同步是关键,最佳实践是找到一个在所有系统中都...
在CAS中,客户端以Filter形式运行,拦截Web应用请求,引导用户通过CAS Server登录,实现跨应用的SSO效果。 总的来说,JOSSO和CAS都是强大的SSO框架,各有优势,适用于不同的系统需求。选择哪种框架取决于具体项目的...
1. **部署SSO服务器**:首先,需要在服务器上部署CAS,这包括安装和配置CAS服务。 2. **集成应用程序**:然后,在需要实现SSO的应用程序中集成CAS客户端,这可能涉及到在应用程序代码中添加特定的库或插件,以与...
Atricore的JOSSO是一种开源且受商业支持的Internet单点登录(FSSO)解决方案,用于点击和基于标准(SAML2)的Internet规模SSO实施。 欲了解更多信息,请通过以下网址与我们联系:http://www.josso.org
2. **配置LDAP服务器:** 需要在Spring Security的配置文件中指定LDAP服务器的信息,包括主机名、端口、DNS域名等。 3. **定义认证源:** 使用`LdapAuthenticationProvider`来定义认证源,并配置相关的属性,如用户...