JOSSO在JBOSS中安装与配置

JOSSO在JBOSS中安装与配置

 

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>

转载于:https://my.oschina.net/vdroid/blog/264339

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/264849.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

堆栈认知——栈溢出实例(ret2text)

参考&#xff1a;栈溢出实例–笔记一&#xff08;ret2text&#xff09; 地址&#xff1a;https://qingmu.blog.csdn.net/article/details/119295954 目录1、什么是栈溢出&#xff1f;2、栈结构3、栈溢出需要解决的问题3.1、解决如何跳转的问题3.2、跳转到哪里去&#xff1f;4、…

rabbitmq取消自动重连_rabbitmq客户端自动重连

编程rookie, 如有错误请指出 ☞&#xff1a;253065903qq.comRabbitMQNode.js 客户端( AMQP 0-9-1 V0.5.2)自动重连重启策略开始找解决方案&#xff1a;通过查看AMQP的源码&#xff0c;发现没有reconnect的选项然后上GitHub上看有没有人提出类似的问题 github repo&#xff0c;通…

Expression,挑起2006年最后的争论?

微软开始把传说中的Expression拿出来show了&#xff0c;这东西对微软来说具有战略意义&#xff0c;比IE7重要的多。要理解它的意义&#xff0c;首先要了解微软。 大家都知道Google的核心价值观之一就是“一切以用户为中心”(进而发展出现在最流行的“用户体验至上”)&#xff0…

[HTML]去除li前面的小黑点,和ul、LI部分属性

[转] 对于很多人用div来做网站时&#xff0c;总会用到&#xff0c;但在显示效果时前面总是会有一个小黑点&#xff0c;这个令很多人头痛&#xff0c;但又找不到要源&#xff0c;其它我们可以用以下方法来清除。[HTML]去除li前面的小黑点,和ul、LI部分属性[转] 对于很多人用div来…

堆栈认知——栈溢出实例(ret2shellcode)

参考&#xff1a;栈溢出实例–笔记二&#xff08;ret2shellcode&#xff09; 地址&#xff1a;https://qingmu.blog.csdn.net/article/details/119303513 目录1、栈溢出含义及栈结构2、ret2shellcode基本思路3、实战一下3.1、二进制程序如下3.2、分析调试查看栈3.3、编写payloa…

Glusterfs初试

Gluster的模式及介绍在此不表&#xff0c;这里只记录安装及配置过程。 1.整体环境 server1 : gfs1.cluster.com server2 : gfs2.cluster.com Client: 2.安装Gluster 下载软件https://access.redhat.com/downloads/content/186/ver3/rhel---7/3.4/x86_64/product-software 下…

如何查看光驱硬盘托架的尺寸_如何确定光驱位的硬盘托架的大小尺寸和接口

如果你想在电脑光驱位安装固态硬盘&#xff0c;前提必须要确定光驱位硬盘托架的类型&#xff0c;如大小尺寸和接口参数。下面将介绍大家如何确定相关参数&#xff0c;其适合于联想&#xff0c;华硕&#xff0c;惠普等电脑品牌。1&#xff0c;最合理的确定方法是到Windows 设备管…

[Android Pro] ant 编译android工程

参考文章&#xff1a; http://blog.csdn.net/xyz_lmn/article/details/7268582?reload http://hubingforever.blog.163.com/blog/static/1710405792013220840347/ http://www.cnblogs.com/tankaixiong/archive/2010/11/24/1887156.html 一&#xff0c;准备ant ant 官网可下载h…

堆栈认知——堆简介

参考&#xff1a;Linux笔记–堆简介 地址&#xff1a;https://qingmu.blog.csdn.net/article/details/119510863 目录1、前言2、堆的由来3、Linux中堆简介4、堆分类4.1、请求堆4.2、释放堆5、内存分配背后的系统调用6、堆相关数据结构7、堆的申请8、调试验证1、前言 当前针对各…

(0.2.6)Mysql安装——编译安装

参考我的另一篇文章&#xff1a;https://www.cnblogs.com/gered/p/9539333.html转载于:https://www.cnblogs.com/gered/p/10359289.html

ubuntu查看gpu使用率_如何监控GPU卡的使用率(Linux)

Linux系统&#xff0c;在程序运行的时候&#xff0c;如何实时监控GPU卡的使用率呢&#xff1f;首先&#xff0c;你需要安装好CUDA。然后&#xff0c;你需要将CUDA的bin目录加入到PATH中。方法是在终端窗口输入如下命令&#xff1a;# vi ~/.bashrc将 /usr/local/cuda/bin 加入到…

sqlserver2000 mdf 文件导入

在Enterprise Manager中菜单\工具\sql analyze 把数据库的数据文件&#xff08;*.mdf&#xff09;和日志文件&#xff08;*.ldf&#xff09;都拷贝到目的服务器&#xff0c;在SQL sp_attach_db dbname test, filename1 d:\mssql7\data\test_data.mdf, …

如何为 Horizon View 配置 VMware VSAN?

原文&#xff1a;http://myvirtualcloud.net/?p5440注明&#xff1a;本文内容基于 VMwareVSAN beta 版本撰写&#xff0c;请访问http://www.vmware.com/products/virtual-san/获得有关正式版本的更新信息。我已经在前面的文章中讨论了VSAN 给 Horizon View 带来的益处&#xf…

配置vscode远程免密登入Linux服务器

视频教程&#xff1a;https://www.bilibili.com/video/BV1s64y167cM?vd_sourcecc0e43b449de7e8663ca1f89dd5fea7d 参考&#xff1a;配置vscode远程免密登入Linux服务器 地址&#xff1a;https://blog.csdn.net/weixin_54178481/article/details/123977675?spm1001.2014.3001.…

P1552 [APIO2012]派遣

链接 https://www.luogu.org/problemnew/show/P1552 思路 忍者数量肯定越多越好 那就从下到上的合并它的孩子 左偏树的话 顺便维护一个tot&#xff0c;大头堆&#xff0c;如果tot大于了m&#xff0c;把大的删掉 如果左偏树忘干净了或者没学的话 线段树合并也是个不错的选择 直接…

Wss 3.0安装指南(一)

Wss 3.0安装指南(一) "基本" 模式 WSS3.0的安装可分为独立服务器安装和服务器场安装,前者是将所有的服务和应用安装在一台Server 上,后者则是…

java web 程序---javabean实例--登陆界面并显示用户名和密码

重点&#xff1a;注意大小写&#xff0c;不注意细节&#xff0c;这点小事&#xff0c;还需要请教 发现一个问题&#xff0c;也是老师当时写的时候&#xff0c;发现代码没错&#xff0c;但是就是运行问题。 大家看&#xff0c;那个java类&#xff0c;我们要求是所有属性均为私有…

智能五子棋基本思路

前些天闲时写的,在学数据结构的时拿来练手的.没技术含量,最有技术含量的AI部分,我是看别人(园子里叫二十四生的)的算法改的.刚弄了一下午小程序弄不过去,头疼,现无聊的紧,闲着发着玩.当消遣主要发下AI核心算法.有兴趣的同学用VB,VC.VC#都可以一起做着玩.保持对编程的兴趣.其它没…

webpack 4.0 配置文件 webpack.config.js文件的放置位置

一般webpack.config.js是默认放在根目录的&#xff0c;不在根目录的时候需要在package.json中制定位置&#xff0c;我的配置文件目录是config/webpack.config.js,在package.json文件中的配置为&#xff1a; "scripts": { "build": "webpack --mode p…

Python-memcached的基本使用 - Flynewton成长点滴 - 开源中国社区

Python-memcached的基本使用 - Flynewton成长点滴 - 开源中国社区Python-memcached的基本使用 发表于3年前(2010-12-04 00:02) 阅读&#xff08;9601&#xff09; | 评论&#xff08;3&#xff09; 12人收藏此文章, 我要收藏 赞1 python memcached 想学Python&#xff0c;又想…