0

所以我最近一直在尝试在 Oracle Linux 6 虚拟机上集成 CAS 和 Alfresco,但运气不佳。所以我一直在学习一些教程,目前正在尝试完成这个。但是,在标题为“为 Alfresco Explorer 配置 CAS SSO”的部分下,我完全迷失了第 3-5 步。


3) 确保 org.mycompany.cms.authentication.LoginCas Web Script 控制器类中的 URL 正确:

public class LoginCas extends DeclarativeWebScript 
{
   private final static String CAS_WEBAPP_URL = "https://localhost:8443/cas-server-webapp-3.4.6";
   private final static String ALFRESCO_WEBAPP_URL = "http://localhost:8080/alfresco";

4) 在 Spring 上下文文件中配置 LoginCas web 脚本控制器:

需要从 Spring bean 配置加载和设置声明性 Web 脚本。如果要为此创建新的 AMP 文件,则将以下 Spring bean 配置添加到 module-context.xml:

<bean id="webscript.org.mycompany.authentication.logincas.get" class="org.mycompany.cms.authentication.LoginCas" parent="webscript">
   <property name="authenticationService" ref="authenticationService" />
   <property name="authenticationComponent" ref="authenticationComponent" />
</bean>

5) 查找如何设置 AMP 构建项目并使用它将 Web 脚本控制器、身份验证过滤器、CAS 库和 Spring 上下文文件打包在一起

alfresco_war 包源代码中的以下两个类需要针对 Alfresco 3.4 SDK 和 CAS 库进行编译:

org.mycompany.cms.authentication.LoginCas
org.mycompany.cms.authentication.CasAuthenticationFilter

要编译这些类,您需要 CAS 客户端库(例如 cas-client-core-3.1.12.jar),并且还需要将其打包在 AMP 中。


我想从第 3 步开始我的问题是,我在哪里可以找到这个“Web 脚本控制器类”?我是否需要在我的虚拟机上安装 IDE 来执行此操作/操作它?

我不知道第 4 步是什么意思。有人可以尝试以更简化的方式解释这一点吗?(顺便说一句,我使用 Spring 或 AMP 的经验为零)

对于第 5 步,虽然这听起来像是一个新手问题,但“alfresco_war 包源代码中的以下两个类需要针对 Alfresco 3.4 SDK 和 CAS 库进行编译”到底是什么意思?我在什么是编译的基本概念下,但是“被编译”是什么意思,我该如何去做呢?

感谢您提供的任何帮助!

4

1 回答 1

2

看起来您正在学习配置 CAS,同时获得 Alfresco Java 支持的 Web 脚本的速成课程。在这一点上,通过 Web Script Framework 扩展 Alfresco 的教程对您很有帮助。关于这个主题有很多资源,这里有一些。

露天维基

官方文档

Jeff Potts 的介绍白皮书

现在,回答您的问题:

3.) “控制器类”是指调用 Web 脚本时将运行的逻辑。由于这是一个 java 支持的 web 脚本,因此逻辑将在 Java Class(.java) 而不是标准的 JavaScript(.js) 文件中运行。当然,这里不需要IDE,但是创建一个 Eclipse 项目会很方便,您可以在其中导入 Alfresco SDK、CAS 所需的 jar 以及 Web 脚本的组件到一个位置(同样,使用 ant 将使构建和编译更简单)。

编辑:要回答“在哪里”问题,您的控制器脚本是LoginCas.java

4.) 为了让 Alfresco 识别您的自定义代码,您需要向 Spring 提供一些信息。在引导期间,Alfresco 使用 Spring 根据 -context.xml 文件中该类的定义方式来加载您的类。Alfresco 模块包(AMP) 只是一种将自定义代码存储在一个简洁的小包中以进行部署的方法。Web 脚本框架严重依赖 Spring,因此如果您打算进行大量的 Alfresco 定制,我建议您也重新学习这项技术。

5.) 还记得我在问题 3 中所说的关于包含所有必要组件的 eclipse 项目吗?第 5 步告诉您针对 3.4 SDK 和 CAS jar 编译控制器类,这意味着如果您在命令行中执行此操作,您将运行 javac,同时将 Alfresco SDK 和您的 CAS 组件中的所有库作为库参数传递那个电话。此处的最终目标是从您的 .java 控制器中获取已编译的 .class 文件。这使用 ANT 脚本更容易处理。

如果您下载Alfresco SDK并将其导入 eclipse,您可以看到一些关于如何扩展 Alfresco 的示例。在浏览了一些文档之后,这将是一个很好的第二步。希望这会有所帮助,祝你好运!

于 2012-08-06T13:19:25.327 回答