公司使用的软件开发和协作工具为 Atlassian 系列软件,所以统一使用 crowd 来实现统一登录(SSO)。

crowd 配置

具体操作细节见我之前写的 Atlassian 系列软件安装(Crowd+JIRA+Confluence+Bitbucket+Bamboo)

添加 nexus 用户组

此处的 nx-admin 组为 nexus 默认的管理组。

添加 nexus 应用

注意:“groups” 和 “Remote addresses” 的设置。

安装 nexus3-crowd-plugin 插件

Available in Nexus Repository Manager Pro only

官方 Nexus Pro 直接集成了 Atlassian Crowd 支持,但社区版不支持,需要自己集成开源插件。

插件地址:https://github.com/pingunaut/nexus3-crowd-plugin

插件安装问题

在插件部署过程中,我碰见如下问题:

2020-04-05 16:33:00,792+0800 ERROR [FelixDispatchQueue]  *SYSTEM nexus3-crowd-plugin - FrameworkEvent ERROR - nexus3-crowd-plugin
org.osgi.framework.BundleException: Unable to resolve nexus3-crowd-plugin [49](R 49.0): missing requirement [nexus3-crowd-plugin [49](R 49.0)] osgi.wiring.package; (&(osgi.wiring.package=org.sonatype.nexus.security.authz)(version>=3.20.0)) Unresolved requirements: [[nexus3-crowd-plugin [49](R 49.0)] osgi.wiring.package; (&(osgi.wiring.package=org.sonatype.nexus.security.authz)(version>=3.20.0))]
at org.apache.felix.framework.Felix.resolveBundleRevision(Felix.java:4132)
at org.apache.felix.framework.Felix.startBundle(Felix.java:2117)
at org.apache.felix.framework.Felix.setActiveStartLevel(Felix.java:1371)
at org.apache.felix.framework.FrameworkStartLevelImpl.run(FrameworkStartLevelImpl.java:308)
at java.lang.Thread.run(Thread.java:748)

解决方法

# 下载插件代码到本地
$ git clone https://github.com/pingunaut/nexus3-crowd-plugin.git # 修改 pom.xml 内容
$ vi pom.xml
......
<parent>
<groupId>org.sonatype.nexus.plugins</groupId>
<artifactId>nexus-plugins</artifactId>
<!-- 修改 parent 的版本与 nexus3 的版本一致 -->
<version>3.12.1-01</version>
</parent>
......
<dependency>
<groupId>org.sonatype.nexus</groupId>
<artifactId>nexus-plugin-api</artifactId>
<!-- 注释掉下面这行,把依赖包打入到插件 jar 中 -->
<!--<scope>provided</scope>-->
</dependency>
...... # 重新编译打包
$ mvn clean package

前提条件

  • JDK 8 is installed
  • Sonatype Nexus OSS 3.x is installed

下载 nexus3-crowd-plugin 插件

$ cd /home/nexus/nexus3/nexus-3.12.1-01/system
$ wget https://github.com/pingunaut/nexus3-crowd-plugin/releases/download/nexus3-crowd-plugin-3.4.2/nexus3-crowd-plugin-3.4.2.jar

将绑定添加到 startup.properties

$ echo "reference\:file\:nexus3-crowd-plugin-3.4.2.jar = 200" >> /home/nexus/nexus3/nexus-3.12.1-01/etc/karaf/startup.properties

配置 crowd.properties

$ echo "# 配置 crowd 的地址
crowd.server.url=http://localhost:8095/crowd/
# 配置 crowd 里该 Application 的名称
application.name=nexus
# 配置 crowd 里该 Application 的密码
application.password=nexus
cache.authentication=false # optional:
timeout.connect=15000
timeout.socket=15000
timeout.connectionrequest=15000" > /home/nexus/nexus3/nexus-3.12.1-01/etc/crowd.properties # 重启验证
$ sh /home/nexus/nexus3/nexus-3.12.1-01/bin/nexus restart

nexus 设置

激活插件

使用 crowd 用户登录

查看 crowd 的用户信息。

查看 crowd 的用户详细:

Nexus3 集成 crowd 插件的更多相关文章

  1. solr服务中集成IKAnalyzer中文分词器、集成dataimportHandler插件

    昨天已经在Tomcat容器中成功的部署了solr全文检索引擎系统的服务:今天来分享一下solr服务在海量数据的网站中是如何实现数据的检索. 在solr服务中集成IKAnalyzer中文分词器的步骤: ...

  2. 记录一次bug解决过程:eclipse集成lombok插件

    一 总结 eclipse集成插件lombok: 启动Spring Boot项目: sublime全局搜索关键字:ctrl + shift + F JDK8中的lambda表达式使用 二 BUG描述:集 ...

  3. Struts2之—集成Json插件实现Ajax

       上篇博客介绍了Struts2中自己定义结果集实现Ajax,也分析了它的缺点:这样自己定义的结果集,写死了,不能做到client须要什么数据就传什么数据:Struts2之-自己定义结果集实现aja ...

  4. sublime 集成git插件,及git常用命令

    以前用了很久的totoiseSVN,显然不够高大上,开发界的版本装x利器还得是git.然而git的命令行对没怎么用过linux的人可能觉得还不如用gitGUI,可是当你知道sublime可以集成git ...

  5. eclipse集成dorado5插件

    dorado5最好使用jdk1.6 32位,与eclipse j2ee indigo版本兼容最好.其他eclipse版本貌似view编辑时按钮点击事件不生效... 现附上安装包链接(均为官方版本): ...

  6. Jetty入门(1-2)eclipse集成jetty插件并发布运行应用

    一.eclipse集成jetty插件 1.从市场安装jetty插件 2.使用jetty插件发布应用和配置运行环境 debug配置默认共用上述run配置 3.使用jetty插件启动运行和停止运行选中的应 ...

  7. eclipse集成testng插件

    一.TestNG简介 TestNG是一个开源自动化测试框架,它受到JUnit和NUnit的启发,而引入了许多新的创新功能,如依赖测试,分组概念,使测试更强大,更容易做到. 它旨在涵盖所有类别的测试:单 ...

  8. Eclipse集成Hadoop插件

    一.Eclipse集成Hadoop插件 1.在这之前我们需要配置真机上的hadoop环境变量 注:在解压tar包的时候普通解压会出现缺文件的现象,所以在这里我们需要用管理员的方式启动我们的解压软件(我 ...

  9. idea集成python插件

    idea集成python插件 作者:尹正杰 版权声明:原创作品,谢绝转载!否则将追究法律责任. 在继承安装Python插件时,请确认你是否安装Python解释器(Python官网:https://ww ...

随机推荐

  1. CDNbest-设置不缓存

    写在开始之前 有时候根据业务需求,我们网站不需要缓存,这时候就需要设置下 让网站不走缓存 步骤一 登录平台找到我们的站点->站点设置->缓存设置 如图 备注:填写需要操作的域名,时间为&q ...

  2. 走近源码:Redis如何清除过期key

    "叮--",美好的周六就这么被一阵钉钉消息吵醒了. 业务组的同学告诉我说很多用户的帐号今天被强制下线.我们的帐号系统正常的逻辑是用户登录一次后,token的有效期可以维持一天的时间 ...

  3. 你能在泰坦尼克号上活下来吗?Kaggle的经典挑战

    Kaggle Kaggle是一个数据科学家共享数据.交换思想和比赛的平台.人们通常认为Kaggle不适合初学者,或者它学习路线较为坎坷. 没有错.它们确实给那些像你我一样刚刚起步的人带来了挑战.作为一 ...

  4. 旷视6号员工范浩强:高二开始实习,“兼职”读姚班,25岁在CVPR斩获第四个世界第一...

    初来乍到,这个人说话容易让人觉得"狂". "我们将比赛结果提交上去,果不其然,是第一名的成绩."当他说出这句话的时候,表情没有一丝波澜,仿佛一切顺理成章. 他说 ...

  5. setAttribute 方法

    IE8及以下不支持 setAttribute用来修改dom标签上的属性比如(onclick); getAttribute用来获取dom标签上的属性

  6. redis 练习

    redis-server启动服务 redis-cli 进入redis redis 常用的keys键操作: exists key  ---检查key是否存在 del key1 key2 ---删除指定的 ...

  7. Python数据库MySQL之数据备份、pymysql模块

    一 IDE工具介绍 生产环境还是推荐使用mysql命令行,但为了方便我们测试,可以使用IDE工具 下载链接:https://pan.baidu.com/s/1bpo5mqj 掌握: #1. 测试+链接 ...

  8. PTA数据结构与算法题目集(中文) 7-8

    PTA数据结构与算法题目集(中文)  7-8 7-8 哈利·波特的考试 (25 分)   哈利·波特要考试了,他需要你的帮助.这门课学的是用魔咒将一种动物变成另一种动物的本事.例如将猫变成老鼠的魔咒是 ...

  9. springmvc <mvc:resource /> 标签使用

    <!-- 配置静态资源 --><mvc:resources location="/static/" mapping="/static/**"/ ...

  10. docker下安装centos,并在其上搭建lnmp环境

    一.安装CentOs容器 1.进入docker下载CentOs,这里我使用的CentOs6.8 docker pull centos:6.8 2.创建容器 sudo docker run --priv ...