Alfresco OpenLDAP CAS SSO v1

合集下载

单点登录CAS与LDAP整合的实现

单点登录CAS与LDAP整合的实现

单点登录CAS与LDAP整合的实现单点登录(Single Sign-On,SSO)是一种身份验证和访问控制机制,允许用户使用一组凭据(如用户名和密码)登录到一个应用程序,然后在登录后访问其他应用程序而无需再次提供凭据。

这种机制的实现需要集成不同的身份验证系统,例如,CAS(Central Authentication Service)与LDAP(Lightweight Directory Access Protocol)。

CAS是一种基于Web的身份验证协议,它提供了一种单点登录解决方案,允许用户在一次登录后访问多个Web应用程序,并且不需要再次输入凭据。

CAS通过提供一个认证服务器来实现这一功能,该服务器负责验证用户的凭据,并生成一个票据(Ticket)以表示用户的身份。

LDAP是一种用于访问和维护分布式目录信息服务(Directory Information Services)的协议。

目录服务用于存储和组织用户和组的信息,包括用户名、密码和其他属性。

LDAP提供了一种标准化的方式来查找、添加、修改和删除目录条目,提供了对用户身份信息的集中存储和访问。

要将CAS和LDAP整合,首先需要配置CAS服务器以使用LDAP作为其用户存储和验证机制。

下面是实现此集成的步骤:1. 配置LDAP服务器:首先,需要在LDAP服务器上创建一个目录以存储用户和组的信息。

可以使用开源的LDAP服务器,如OpenLDAP或Microsoft的Active Directory。

2.配置LDAP属性映射:CAS需要将LDAP中的用户属性映射到CAS的用户模型中。

这些属性包括用户名、密码、姓名、角色等。

需要根据LDAP服务器的架构和CAS的用户模型进行正确的属性映射。

3.配置LDAP身份验证器:CAS使用一个或多个身份验证器来验证用户的凭据。

应该配置一个LDAP身份验证器来使用LDAP服务器进行用户身份验证。

4.配置CAS服务器:在CAS服务器上,需要配置CAS以使用LDAP身份验证器进行用户身份验证。

Alfresco 安装与配置图解

Alfresco 安装与配置图解

Alfresco安装与配置图解Alfresco是一款开源的企业内容管理系统(ECM),为企业提供了日常的文档管理、工作流(可以和企业目前的OA协同接合使用)、工作记录管理、知识管理、网络内容管理、图片管理等多种功能,所以从功能山观看,相当于MS的sharepoint,目前alfresco 对于中文支持的比以前也有了相当的改进。

另外,它的架构非常的清晰,功能也比较的完整,非常适合中小型企业快速低成本的部署知识管理系统Alfresco架构简图1、安装Alfresco:我们这里选择suse企业版平台来安装alfresco 4/wiki/Download_Community_Edition下载最新版alfresco, 以前老版本在安装之前系统需配置好Mysql,Tomcat,JDK 环境,目前4的版本方便了许多。

首先执行alfresco-community-4.2.c-installer-linux-x64.bin文件。

开始使用,打开浏览器访问:http://localhost:8080/alfresco可以看到alfresco的主页,使用admin用户及前面设定的密码能够正常登陆/opt/alfresco-4.0.a/manager-linux-x64.run在启动tomcat时候出现"tomcat could not be started"我们需要输入下面命令#rm /opt/alfresco-4.0.a/tomcat/temp/catalina.pid2、汉化配置/projects/zh-package/下载相应版本的汉化包unzip language_Pack.zipchmod +x install_language_pack.sh./ install_language_pack.shVim/opt/alfresco/tomcat/webapps/alfresco/WEB-INF/classes/alfresco/web-client-config.xml添加登陆页面的中文语言选项,然后找到<languages> 节点,再添加一行:<language locale="zh_CN">Chinese (Simplified)</language> 最后保存退出。

CAS客户端服务器端配置步骤

CAS客户端服务器端配置步骤

CAS客户端服务器端配置步骤CAS(Central Authentication Service)是一种Web单点登录协议,允许用户在一次登录后访问多个应用程序。

CAS客户端和服务器端的配置步骤通常包括以下几个方面:一、CAS客户端配置步骤:1.引入CAS客户端依赖。

首先需要在应用程序的构建配置文件中引入CAS客户端的依赖关系,以便在应用程序中使用CAS客户端的功能。

2.配置CAS客户端。

在应用程序的配置文件中添加CAS客户端的相关配置项,包括CAS服务器的地址、端口、协议类型等。

3.设置应用程序的登录认证方式为CAS客户端。

通过配置应用程序的认证方式为CAS客户端,可以将用户的登录认证转交给CAS服务器处理。

4.配置CAS客户端认证过滤器。

CAS客户端通常会提供一个认证过滤器,用于拦截用户的请求并进行认证处理。

配置认证过滤器的URL模式以及其他参数,以确保认证过程正确执行。

5.编写CAS客户端回调处理逻辑。

当用户在CAS服务器上成功登录后,CAS服务器会将用户重定向回客户端应用程序,并在URL中添加一个包含用户信息的票据参数。

客户端应用程序需要编写相应的回调处理逻辑,以解析该票据参数并进行相关的用户信息处理。

二、CAS服务器端配置步骤:1.安装和配置CAS服务器。

首先需要在服务器上安装CAS服务器,并使用CAS服务器提供的配置文件对服务器进行配置。

配置项包括CAS服务器的地址、端口、协议类型等。

2.配置CAS服务器的用户认证源。

CAS服务器通常需要与一个或多个用户认证源(如LDAP、数据库等)进行集成,以验证用户的用户名和密码。

配置CAS服务器与用户认证源的相关参数,确保用户可以被正确认证。

3.配置CAS服务器的服务清单。

在CAS服务器上配置服务清单,即允许用户访问的应用程序列表。

可以指定应用程序的URL地址、安全策略等信息。

4.配置CAS服务器的票据生成和验证方式。

CAS服务器会生成一个票据(Ticket)并返回给客户端应用程序,客户端应用程序在后续请求中需要解析和验证该票据。

cas 解决方案

cas 解决方案

cas 解决方案
《CAS 解决方案:实现单点登录和跨域访问控制》
在当今互联网时代,随着企业应用的多样化和复杂化,用户需要频繁地登录各种不同的应用系统,这不仅增加了用户的操作负担,也增加了企业管理的难度。

为了解决这一问题,CAS (Central Authentication Service,中央认证服务)应运而生。

CAS 是一种开源的认证解决方案,它利用单点登录(SSO)
技术,使用户只需登录一次,就能访问所有经过 CAS 认证的
应用系统。

CAS 还提供了跨域访问控制的能力,可以有效地
保护用户的隐私和数据安全。

CAS 解决方案的主要特点包括:
1. 单点登录:CAS 实现了统一认证和访问控制,用户只需登
录一次,就可以访问所有经过 CAS 认证的应用系统。

这大大
增加了用户的便利性和操作效率。

2. 跨域访问控制:CAS 可以在不同的域之间实现安全的用户
认证和访问控制,保护用户的隐私和数据安全。

3. 开放源代码:CAS 是一个开源的项目,可以根据企业的实
际需求进行定制和扩展,适用性广泛。

在实际应用中,CAS 解决方案已经被广泛应用于教育、金融、医疗、电子商务等各个行业,为用户提供了便利的应用访问体验,同时也提高了企业的管理效率和数据安全。

可以说,CAS 解决方案已成为企业实现数字化转型和信息化建设的关键技术之一。

总的来说,CAS 解决方案不仅满足了用户和企业的需求,还
推动了互联网领域的技术创新和发展。

相信随着互联网和移动互联网的不断发展,CAS 解决方案将会在更多领域得到应用,为用户和企业带来更多的价值和便利。

Alfresco介绍

Alfresco介绍

Alfresco能做什么呢?Alfresco说自己是一个“全集成的解决方案”基本内容:•资料管理(Document Management)•Web内容管理(Web Content Management)•合作与协作(Collaboration)•内容平台和仓库(Content Platform and Repository)•Content Management Interoperability Services (内容管理互操作服务-CMIS)•Records 管理•Image Management资料管理(Document Management)一些很贵的也很复杂的企业资料管理系统(ECM)已经不少了。

不过人们往往更习惯使用那些每天都用的简单的熟悉的工具Alfresco 资料管理(Document Management)在对内容的接受,共享和存储方面,可以更好的让用户使用自己常用的工具容易的建立自己的内容应用,包括检索和版本化管理等重要功能。

共享驱动器(Shared drive)Alfresco的资料库和一个共享在网络上的驱动器一样。

你可以保留使用任何你知道的或者喜欢的编辑工具来编辑资料。

从Microsoft Office 到Open Office, Dreamweaver 或者 AutoCAD,而不用安装其他的程序或者需要重新学习。

无论是自己还是公司需要的功能都可以满足,包括存储,版本化管理,共享,检索和审计。

对MS Office的集成(Integration with Microsoft Office)Alfresco集成了MS Office 和 Open Office。

所以你可以一如既往的使用你自己的office环境,在不需要再学习的情况下,你和你的公司就可以得到存储,版本化管理,共享,检索和很简单的就集成了工作流的审计功能。

为资料应用建立各种规则(Rules for content applications)Alfresco把简单共享的驱动器放到一个虚拟的文件系统中,在这里,你用简单的向导就可以创建一个你需要的资料管理应用。

Alfresco内容管理仓库连接与操作说明说明书

Alfresco内容管理仓库连接与操作说明说明书

Package‘alfr’October12,2022Type PackageTitle Connectivity to'Alfresco'Content Management RepositoriesVersion1.2.1Author Roy Wetherall<********************>Maintainer Roy Wetherall<********************>Description Allows you to connect to an'Alfresco'content management repository and interact with its contents using simple and intuitive functions.You will be able to establish a connec-tion session to the'Alfresco'repository,read and upload content and manage folder hierarchies.For more details on the'Alfresco'con-tent management repositorysee<https:///ecm-software/document-management>.Depends R(>=3.5.0)License GPL-3|file LICENSEURL https:///rwetherall/alfr,https://rwetherall.github.io/alfr/BugReports https:///rwetherall/alfr/issuesEncoding UTF-8LazyData trueRoxygenNote6.1.1Imports httr,jsonlite,magrittr,stringrSuggests devtools,httptest,roxygen2,testthat,knitr,rmarkdown,covr,remotes,spelling,fsVignetteBuilder knitrSystemRequirements Alfresco Content Repository(Community orEnterprise)Language en-USNeedsCompilation noRepository CRANDate/Publication2019-07-1904:30:04UTC12alfr R topics documented:alfr (2)alf_node (3)alf_node.delete (4)alf_node.new (5)alf_session (7)alf_session.invalidate (8)alf_session.is_valid (9)Index10 alfr alfr:A package for connecting with AlfrescoDescriptionThe alfr package provides a way to connect to Alfresco and interact with the contents of the repository.Session•alf_session-connection session to an Alfresco repository•alf_session.is_valid-determine whether the session connection to an Alfresco repository is still valid•alf_session.invalidate-invalidates a session so it can no longer use used to connect to an Alfresco repositoryNodes•alf_node-get the details of a folder or content node•alf_node.new-creates a new folder or content node•alf_node.delete-deletes a folder or content nodeAuthor(s)Roy Wetherall<********************>alf_node3 alf_node Get Alfresco nodeDescriptionGets the details of an Alfresco repository node matching node_id or,if provided,the node at relative_path relative to node_id.Usagealf_node(session,node_id="-root-",relative_path=NULL)Argumentssession valid Alfresco repository sessionnode_id node id,defaults to-root-relative_path relative path from node_id to required node,defaults to NULLValueNode detailsExamples#try to establish a connection to the alfresco content repositorymy_session<-tryCatch(alf_session("http://localhost:8080","admin","admin"),error=function(e)NULL)if(!is.null(my_session)){#create documentmy_new_document<-alf_node.new(my_session,node_id="-root-",list(name="example.txt",nodeType="cm:content",relativePath="example"))#upload contentmy_new_document$content$update(system.file("extdata","sample.txt",package="alfr"))#get details of document nodemy_document<-alf_node(my_session,relative_path="example/example.txt")#output the name of the documentprint(my_document$name)4alf_node.delete #output the details of documents contentprint(my_document$content$mime_type)print(my_document$content$mime_type_name)print(my_document$content$size)print(my_document$content$encoding)#read document contentmy_content_file<-file(my_document$content$as.file(),"r")my_content<-readLines(my_content_file)close(my_content_file)print(my_content)#upload new contentmy_updated_document<-my_document$content$update(system.file("extdata","modified_sample.txt",package="alfr"))#print updated content sizeprint(my_updated_document$content$size)#delete documentalf_node.delete(my_session,my_document$id)}alf_node.delete Deletes an Alfresco nodeDescriptionDeletes an Alfresco node identified by node_id.If the node is a folder then all the delete recurses through the primary children.Usagealf_node.delete(session,node_id,permanent=FALSE)Argumentssession valid Alfresco repository sessionnode_id node id to deletepermanent indicates whether the node is permanently deleted or places in the trashcan where where it can be recovered from.FALSE by default.Examples#try to establish a connection to the alfresco content repositorymy_session<-tryCatch(alf_session("http://localhost:8080","admin","admin"),error=function(e)NULL)if(!is.null(my_session)){#create documentmy_new_document<-alf_node.new(my_session,node_id="-root-",list(name="example.txt",nodeType="cm:content",relativePath="example"))#upload contentmy_new_document$content$update(system.file("extdata","sample.txt",package="alfr"))#get details of document nodemy_document<-alf_node(my_session,relative_path="example/example.txt") #output the name of the documentprint(my_document$name)#output the details of documents contentprint(my_document$content$mime_type)print(my_document$content$mime_type_name)print(my_document$content$size)print(my_document$content$encoding)#read document contentmy_content_file<-file(my_document$content$as.file(),"r")my_content<-readLines(my_content_file)close(my_content_file)print(my_content)#upload new contentmy_updated_document<-my_document$content$update(system.file("extdata","modified_sample.txt",package="alfr"))#print updated content sizeprint(my_updated_document$content$size)#delete documentalf_node.delete(my_session,my_document$id)}alf_node.new Create a new Alfresco nodeDescriptionCreates a new Alfresco repository node as a child of node_id.Usagealf_node.new(session,node_id,node_details)Argumentssession valid Alfresco repository sessionnode_id node idnode_details details of new nodeValuenode detailsExamples#try to establish a connection to the alfresco content repositorymy_session<-tryCatch(alf_session("http://localhost:8080","admin","admin"),error=function(e)NULL)if(!is.null(my_session)){#create documentmy_new_document<-alf_node.new(my_session,node_id="-root-",list(name="example.txt",nodeType="cm:content",relativePath="example"))#upload contentmy_new_document$content$update(system.file("extdata","sample.txt",package="alfr"))#get details of document nodemy_document<-alf_node(my_session,relative_path="example/example.txt") #output the name of the documentprint(my_document$name)#output the details of documents contentprint(my_document$content$mime_type)print(my_document$content$mime_type_name)print(my_document$content$size)print(my_document$content$encoding)#read document contentmy_content_file<-file(my_document$content$as.file(),"r")my_content<-readLines(my_content_file)close(my_content_file)print(my_content)alf_session7 #upload new contentmy_updated_document<-my_document$content$update(system.file("extdata","modified_sample.txt",package="alfr"))#print updated content sizeprint(my_updated_document$content$size)#delete documentalf_node.delete(my_session,my_document$id)}alf_session Get connection session to Alfresco content repositoryDescriptionValidates authentication details with Alfresco content repository,returning ticket,server details and endpoints if successful.Usagealf_session(server,username,password)Argumentsserver Alfresco server URLusername user namepassword passwordValueConnection session to Alfresco repositoryExamples#try to establish a connection to the alfresco content repositorymy_session<-tryCatch(alf_session("http://localhost:8080","admin","admin"),error=function(e)NULL)if(!is.null(my_session)){#output session informationprint(paste("Session:[ticket=",my_session$ticket,",server=",my_session$server,"]",sep=""))#verify that the session is validif(alf_session.is_valid(my_session))print("Session verified as valid.")#invalidate the session so that it can no longer be usedalf_session.invalidate(my_session)}alf_session.invalidateInvalidates a session.DescriptionInvalidates a valid session so it can no longer be used to connect to an Alfresco repository.Usagealf_session.invalidate(session)Argumentssession sessionValueTRUE if session has been successfully invalidated,FALSE if session was already invalid.Examples#try to establish a connection to the alfresco content repositorymy_session<-tryCatch(alf_session("http://localhost:8080","admin","admin"),error=function(e)NULL)if(!is.null(my_session)){#output session informationprint(paste("Session:[ticket=",my_session$ticket,",server=",my_session$server,"]",sep="")) #verify that the session is validif(alf_session.is_valid(my_session))print("Session verified as valid.")#invalidate the session so that it can no longer be usedalf_session.invalidate(my_session)}alf_session.is_valid Determine whether a session is valid.DescriptionDetermines whether a given session is still valid or not.Usagealf_session.is_valid(session)Argumentssession sessionValueTRUE if the session is valid,FALSE otherwiseExamples#try to establish a connection to the alfresco content repositorymy_session<-tryCatch(alf_session("http://localhost:8080","admin","admin"),error=function(e)NULL)if(!is.null(my_session)){#output session informationprint(paste("Session:[ticket=",my_session$ticket,",server=",my_session$server,"]",sep="")) #verify that the session is validif(alf_session.is_valid(my_session))print("Session verified as valid.") #invalidate the session so that it can no longer be usedalf_session.invalidate(my_session)}Indexalf_node,2,3alf_node.delete,2,4alf_node.new,2,5alf_session,2,7alf_session.invalidate,2,8alf_session.is_valid,2,9alfr,2alfr-package(alfr),210。

alfresco知识库管理系统用户使用手册

alfresco知识库管理系统用户使用手册

alfresco知识库管理系统用户使用手册目录【名词解释】 21、alfresco知识库管理系统 22、站点 23、文档 34、知识 35、内容 36、标记 3【其它说明】 41、查找内容的3个主要方法 4一、管理系统登陆 41、系统登录 42、界面简介 5二、个人档案管理 61、编辑个人档案 62、更改密码 7三、站点使用说明 81、访问站点 82、”站点“界面简介 83、”文档库“功能说明 94、”维基“功能说明 10四、存储库使用说明 12五、搜索使用说明 131、快速搜索 132、条件搜索 133、关键词组合搜索 14【名词解释】1、alfresco知识库管理系统Alfresco是一款开源的企业内容管理系统,可以为企业提供文档和知识管理的版本控制、移动访问、协同工作等多种功能。

Alfresco支持全文检索,用户使用简单,Alfresco是目前应用最广泛的开源企业知识管理系统,先后有超过500万次的下载,7.4万个社区成员。

我们的财务共享中心知识库管理系统,就是用该软件搭建的。

2、站点站点是存放企业内容的基础。

我们把站点视为仓库,内容视为物资,不同的物资存放在不同的仓库中,比如我们把粮食放在一个仓库中,把矿石放在另外一个仓库中。

站点的作用就是存放特定的内容,并限定访问的用户。

比如目前我们财务知识库的3个站点中,SSC知识库就是存放财务中心的内容,财务中心员工可以访问这些内容;其它2个站点存放的是地市州财务人员相关的内容。

3、文档包括数据库中的信息、企业的各种文档、报表、账单、网页、图片、传真,甚至多媒体音频、视频等等各种电子信息载体。

在我们的知识库系统中,”文档“具体指存放在站点下的”文档库“中的文件。

4、知识知识通常指通过学习、实践或探索所获得的认识、判断或技能。

在我们的知识库系统中,”知识“具体指存放在站点下的”维基“中的文件。

”知识“是基于文档提炼、总结的精华经验,可以通过查看”知识“文章来更快、更好地获取相关信息。

alfresco流程设计

alfresco流程设计

alfresco流程设计
Alfresco的流程设计可以通过以下步骤完成:
1.定义流程:根据业务需求,定义所需的业务流程,可以使用Alfresco的流程设计工具进行可视化设计,也可以通过编写代码的方式实现。

2.创建任务节点:在流程中创建任务节点,并为每个任务节点分配相应的责任人或角色。

3.设置流转规则:根据流程的逻辑关系,设置流程的流转规则,包括前一个任务节点的结束条件、后一个任务节点的触发条件等。

4.配置表单:为每个任务节点配置相应的表单,表单的内容可以根据实际需求进行定制。

5.部署流程:将设计好的流程部署到Alfresco服务器上,并启动流程实例。

6.测试流程:通过模拟实际业务场景,测试流程是否符合预期,并对不符合预期的地方进行调整和优化。

7.发布流程:经过测试和验证后,将流程正式发布到生产环境中,供实际业务使用。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

Alfresco OpenLDAP CAS SSO
Arcko Duan (http://about.me/arcko) This blog will show you how to setup alfresco to work with CAS Single-Sign-On, with the backend
using OpenLDAP for user account managment.
Here we use Alfresco Community Edition 4.0.d, OpenLDAP and Ubuntu 10.04 LTS server.
0. Download and install Alfresco
Refer to /wiki/Download_and_Install_Alfresco
1. Configure Apache2 SSL
First install apache2 and openssl
apt-get install apache2 openssl
vi /etc/apache2/mods-enabled/ssl.conf
add following lines to the end of conf file:
SSLVerifyClient optional
SSLCACertificateFile /etc/ssl/certs/cacert.pem
# Keeping SSLCACertificatePath causes the browser to go into a loading loop,
# so use the above SSLCACertificateFile instead
# SSLCACertificatePath /etc/ssl/certs
SSLOptions +StdEnvVars +ExportCertData
</IfModule>
a2enmod ssl
/etc/init.d/apache2 restart
2. Install OpenLDAP
apt-get install slapd ldap-utils
ldapadd -Y EXTERNAL -H ldapi:/// -f /etc/ldap/schema/cosine.ldif
ldapadd -Y EXTERNAL -H ldapi:/// -f /etc/ldap/schema/nis.ldif
ldapadd -Y EXTERNAL -H ldapi:/// -f /etc/ldap/schema/inetorgperson.ldif
cd ~/openldap
mv back_hdb back_
ldapadd -Y EXTERNAL -H ldapi:/// -f backend.ldif
ldapadd -x -D cn=admin,dc=sample,dc=com -W -f front.ldif
ldapsearch -xLLL -b "dc=sample,dc=com" uid=john sn givenName cn
apt-get install ldapscripts
sh -c "echo -n 'sample' > /etc/ldapscripts/ldapscripts.passwd"
3. Build and deploy Jasig CAS server
Download and build alfresco customized cas server following instructions from Alfresco wiki page : Alfresco With mod auth cas Step 4: Configure, Build and Install Jasig CAS Server
cd /root
mkdir -p custom-cas-server/src/main/webapp/WEB-INF/classes
cd custom-cas-server
apt-get install maven2
mvn -Dmaven.test.skip=true package install
cp target/cas.war /opt/alfresco-4.0.d/tomcat/webapps/erts
4. Configure apache and alfresco tomcat to work together through mod jk.
First install libapache2-mod-jk
apt-get install libapache2-mod-jk
vi /etc/apache2/mods-enabled/jk.conf
<IfModule mod_jk.c>
JkWorkersFile "/opt/alfresco-4.0.d/tomcat/conf/jk/workers.properties"
JkLogFile "/opt/alfresco-4.0.d/tomcat/logs/mod_jk.log"
JkOptions +ForwardKeySize -ForwardDirectories
JkLogLevel debug
JkMountCopy On
JkMount /alfresco* default
JkMount /share* default
JkMount /examples* default
</IfModule>
/opt/alfresco-4.0.d/tomcat/conf/jk/workers.properties
5. Build and install latest version of mod_auth_cas
According to https:///display/CASC/mod_auth_cas
wget /Jasig/mod_auth_cas/zipball/master
Jasig-mod_auth_cas-v1.0.9.1-98-g0d20c79.zip
cd Jasig-mod_auth_cas-0d20c79/
apt-get install apache2-threaded-dev autoconf automake check libapr1-dev libaprutil1-dev libcurl4-openssl-dev make pkg-config
compile https:///Jasig/mod_auth_cas
./configure; make; make install
mkdir /tmp/cas
chown www-data:www-data /tmp/cas
chmod 0700 /tmp/cas
/etc/apache2/mods-available/mod_auth_cas.load
/etc/apache2/mods-available/mod_auth_cas.conf
a2enmod mod_auth_cas
/etc/init.d/apache2 restart
Now when you access alfresco through http://sample.server/alfresco, browser will redirect you to https://sample.server/cas/login?service=https%3a%2f%2fsample.server%2falfresco%2f to process
cas login. You could custom the look and feel of your cas login page like.。

相关文档
最新文档