所以我最近一直在尝试将CAS和Alfresco集成到Oracle Linux 6虚拟机上,但我没有太多运气。所以我一直在阅读一些教程,目前正在尝试完成THIS一个。但是,在标题为“为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 Script控制器类”?我是否需要在我的虚拟机上安装IDE才能执行此操作/操作它?
我不知道第4步意味着什么。有人试图以更简化的方式解释这个问题吗? (我没有使用Spring或AMP btw的经验)
对于第5步,虽然这听起来像是一个新手问题,但是“alfresco_war包源代码中的以下两个类需要针对Alfresco 3.4 SDK和CAS库进行编译”是什么意思?我根据编译的基本概念,但“编译反对”是什么意思,我该怎么做?
感谢您提供任何帮助!
答案 0 :(得分:2)
在Alfresco Java支持的Web脚本中获得速成课程时,您似乎正在学习配置CAS。在这一点上,通过Web Script Framework扩展Alfresco的教程将很好地为您服务。这个主题有很多资源,这里有一对。
现在,回答你的问题:
3。)'Controller Class'指的是在调用Web脚本时运行的逻辑。由于这是一个由java支持的Web脚本,逻辑将在Java类(.java)而不是标准JavaScript(.js)文件中运行。当然,你不需要需要 IDE,但是创建一个eclipse项目会很方便,你可以将Alfresco SDK,CAS需要的jar和web脚本的组件导入到一个位置(同样,使用ant将使构建和编译更简单)。
编辑:要回答“何处”问题,您的控制器脚本为LoginCas.java。
4.。)为了让Alfresco识别您的自定义代码,您需要向Spring提供一些信息。在引导期间,Alfresco使用Spring根据在-context.xml文件中定义该类的方式来加载您的类。 Alfresco Module Package(AMP)只是一种将自定义代码存储在一个整洁的小包中进行部署的方法。 Web脚本框架在很大程度上依赖于Spring,因此如果您计划进行大量的Alfresco自定义,我建议brushing up on this technology as well.
5。)还记得我在问题3中所说的关于一个日食项目来容纳所有必要的组件吗?第5步告诉你根据3.4 SDK和CAS jar编译你的控制器类,这意味着如果你在命令行执行此操作,你将运行javac,同时将Alfresco SDK和CAS组件中的所有库作为库参数传递那个电话。这里的最终目标是从.java控制器获取已编译的.class文件。使用ANT脚本更容易处理。
如果您下载Alfresco SDK并将其导入eclipse,您可以看到一些如何扩展Alfresco的示例。在完成一些文档后,这将是一个很好的第二步。希望这有帮助,祝你好运!