`

JOSSO在JBOSS中安装与配置

阅读更多

 

1JOSSO单点登录网关

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.xmlJAAS验证,用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.3Web应用进行改造

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>

-----------------------------------------------------------------------------------------------------

From: http://xiaojianbo.iteye.com/blog/2065433

分享到:
评论

相关推荐

    josso+tomcat配置之josso服务器配置(一)[参考].pdf

    在上述配置文件中,我们可以看到josso服务器的配置信息,包括认证服务器的配置、JDBC连接配置和身份验证scheme配置等。这些配置信息将被用来实现josso服务器的身份验证和授权功能。 配置josso服务器需要将josso war...

    单点登录JOSSO中间件

    在实际部署过程中,首先需要安装和配置JOSSO服务器,然后为每个需要SSO功能的应用系统安装并配置Agent。配置过程可能涉及到设置Agent与服务器的通信方式,配置应用系统的认证策略,以及管理用户和角色。JOSSO的灵活...

    Josso2.3 译文

    配置Apache Tomcat执行环境时,需要在JOSSO的“Execution Environments”画布中创建一个新的元素。首先,指定唯一标识符(Name)、描述性文本(Description)以及Tomcat的版本(Version)。可以选择5.0.x、5.5.x或...

    JOSSO实现SSO

    1. **配置 JOSSO**:首先需要在服务器上安装和配置 JOSSO。这包括设置 JOSSO 的基本参数、定义信任关系等。 2. **集成现有 Web 应用**:接下来,需要对现有的 Web 应用进行简单的配置,使其能够与 JOSSO 交互。这...

    GlassFish+josso单点登录

    2. **配置Josso与GlassFish集成:** - **部署Josso网关应用**: 1. 将Josso安装包中的`josso-gateway-web-1.8.0.war`文件复制到GlassFish的`domains/domain1/autodeploy`目录下。 2. 等待GlassFish自动部署该WAR...

    Glassfish + josso 单点登录范例

    - 在`josso-gateway-db-stores.xml`中配置数据库信息,确保`db-store:jdbc-store`正确配置MySQL数据库的信息。 #### 五、MD5加密技术应用 为了提高数据的安全性,在数据库中存储用户密码时采用MD5加密算法是非常...

    PyPI 官网下载 | python-josso-auth-0.1.3.tar.gz

    使用"python-josso-auth"时,开发人员需要先将其安装到Python环境中。这可以通过Python的包管理工具pip来完成,命令如下: ```bash pip install python-josso-auth==0.1.3 ``` 安装完成后,可以导入库并根据文档或源...

    josso2:第二代JOSSO(Java开放式单点登录)

    通过访问JOSSO的文档,可以获取更多关于如何安装、配置和维护josso2-2.4.3的详细信息。这些文档通常会涵盖从安装指南到故障排查的所有内容,帮助用户更好地理解和利用这个强大的SSO解决方案。 总之,JOSSO 2.4.3为...

    loginServer CAS / josso / LDAP / RBAC / ACL

    在这样的系统中,用户首先通过 CAS 或 JOSSO 进行身份验证,然后根据他们在 LDAP 服务器上存储的信息和他们的角色,系统将应用 RBAC 和 ACL 来决定他们可以访问哪些资源。整个设计的目标是创建一个安全、高效、易于...

    CAS单点登录的经典配置,以及多数据库的处理方案

    CAS单点登录产品具有很多优点,如减少用户在不同系统中登录耗费的时间,减少用户登录出错的可能性,实现安全的同时避免了处理和保存多套系统用户的认证信息,减少了系统管理员增加、删除用户和修改用户权限的时间,...

    josso-final

    5. **配置JOSSO**:学习如何在JOSSO Server上配置认证服务,以及如何在应用中集成SSO Agent。 6. **安全考虑**:了解SSO带来的安全挑战,如会话劫持、CSRF攻击等,并知道如何防范。 7. **调试与日志**:熟悉如何查看...

    SSO学习有CAS SSO配置.doc

    2. **修改服务器配置**:在Apache Tomcat这样的Web服务器中,需要编辑`server.xml`配置文件来启用SSL连接。这涉及到设置端口号、SSL连接器的属性,例如keystore文件的位置、密码和SSL协议。 3. **CAS服务器的部署**...

    spring security 中文指南

    总的来说,Spring Security 是一个强大的安全框架,它为开发者提供了广泛的身份验证和授权选项,简化了安全配置,并允许在多种环境中无缝迁移。无论是在大型企业还是小型项目中,都能找到适合的安全解决方案。通过...

    单点登录单点登录单点登录

    单点登录(Single Sign-On,简称SSO)是一种身份验证技术,它允许用户在通过一次登录验证后,无须再次输入凭证即可访问多个相互关联的应用系统。这一技术大大提升了用户体验,减少了用户记忆和输入多个密码的负担,...

    java单点登录的实现与应用整合中SSO的技术实现.pdf

    例如,建立一个中心化的用户名映射机制,将用户在Portal系统中的信息与其他系统中的信息关联起来,这可以通过数据库、LDAP或者文件系统来实现。确保这些系统间的数据同步是关键,最佳实践是找到一个在所有系统中都...

    单点登录分析报告.pdf

    在CAS中,客户端以Filter形式运行,拦截Web应用请求,引导用户通过CAS Server登录,实现跨应用的SSO效果。 总的来说,JOSSO和CAS都是强大的SSO框架,各有优势,适用于不同的系统需求。选择哪种框架取决于具体项目的...

    单点登录技术文档.doc

    1. **部署SSO服务器**:首先,需要在服务器上部署CAS,这包括安装和配置CAS服务。 2. **集成应用程序**:然后,在需要实现SSO的应用程序中集成CAS客户端,这可能涉及到在应用程序代码中添加特定的库或插件,以与...

    JOSSO-开源

    Atricore的JOSSO是一种开源且受商业支持的Internet单点登录(FSSO)解决方案,用于点击和基于标准(SAML2)的Internet规模SSO实施。 欲了解更多信息,请通过以下网址与我们联系:http://www.josso.org

    Spring Security LDAP 全选管理框架 中文版

    2. **配置LDAP服务器:** 需要在Spring Security的配置文件中指定LDAP服务器的信息,包括主机名、端口、DNS域名等。 3. **定义认证源:** 使用`LdapAuthenticationProvider`来定义认证源,并配置相关的属性,如用户...

Global site tag (gtag.js) - Google Analytics