简介:
### CAS单点登录服务器配置详解#### 一、CAS单点登录概述CAS(Central Authentication Service)是一种开放源代码的单点登录协议和服务框架,它为Web应用提供了一种简化了的身份验证流程。
通过CAS,用户只需要在一个地方完成登录过程,即可在多个应用间共享登录状态,无需重复登录。
#### 二、CAS服务器安装与配置##### 2.1 安装CAS服务端1. **下载CAS服务端**:首先从官方网址http://www.cas.org/下载最新的CAS服务端压缩包。
2. **部署WAR包**:将下载的WAR包复制到Tomcat的webapps目录下,并将其重命名为`cas.war`。
3. **启动Tomcat**:启动Tomcat服务器,自动解压WAR包,此时会在Tomcat的webapps目录下生成一个名为`cas`的文件夹。
4. **访问CAS**:通过浏览器访问`http://localhost:8896/cas`来测试CAS服务是否正常启动。
##### 2.2 配置CAS使用数据库验证为了实现更安全、更灵活的身份验证机制,我们可以配置CAS使用数据库进行用户身份验证。
具体步骤如下:1. **修改部署配置文件**:打开`cas-server-webapp\WEB-INF\deployerConfigContext.xml`文件,找到`SimpleTestUsernamePasswordAuthenticationHandler`配置项,将其替换为`QueryDatabaseAuthenticationHandler`。
```xml <bean id="authenticationHandler" class="org.jasig.cas.authentication.handler.QueryDatabaseAuthenticationHandler"> <!-- 数据库连接数据源 --> <property name="dataSource" ref="dataSource"/> <!-- 查询语句 --> <property name="sql" value="SELECT password FROM users WHERE username = ?"/> <!-- 密码加密方式 --> <property name="passwordEncoder" ref="passwordEncoder"/> </bean> ```2. **配置数据库连接**:在同一文件中添加一个新的`dataSource` bean来定义数据库连接信息。
```xml <bean id="dataSource" class="org.springframework.jdbc.datasource.DriverManagerDataSource"> <property name="driverClassName" value="com.mysql.jdbc.Driver"/> <property name="url" value="jdbc:mysql://localhost:3306/casdb"/> <property name="username" value="casuser"/> <property name="password" value="password"/> </bean> ```3. **配置密码加密方式**:继续在同一文件中添加`passwordEncoder` bean来指定密码加密方式,这里使用MD5作为示例。
```xml <bean id="passwordEncoder" class="org.springframework.security.crypto.password.StandardPasswordEncoder"> <constructor-arg value="MD5"/> </bean> ```4. **测试数据库验证**:重启Tomcat服务器,访问CAS服务器页面,使用数据库中的用户名和密码尝试登录,验证是否可以成功登录。
#### 三、CAS工作原理CAS的工作原理主要分为以下几个步骤:1. **用户访问服务**:用户首次访问受保护的资源时,CAS客户端会检测到HTTP请求中缺少ServiceTicket(简称ST),表明用户尚未经过身份验证。
2. **重定向至CAS服务器**:CAS客户端会将用户重定向到CAS服务器进行身份验证,并携带用户的请求URL作为参数(service参数)。
3. **用户认证**:CAS服务器接收到来自用户的认证请求后,引导用户进入登录页面。
用户输入用户名和密码进行登录,若身份验证成功,则CAS服务器通过HTTPS协议返回一个TGC(Ticket-Granting Cookie)给浏览器。
4. **发放ServiceTicket**:CAS服务器生成一个随机的ServiceTicket(简称ST),并将用户重定向回CAS客户端。
5. **验证ServiceTicket**:CAS客户端收到ST后,向CAS服务器验证ST的有效性。
如果验证通过,则允许用户访问受保护资源。
6. **传输用户信息**:CAS服务器验证ST通过后,将用户的相关认证信息发送给CAS客户端。
通过以上步骤,CAS实现了单点登录的功能,极大地提升了用户体验和系统的安全性。
### 四、CAS与HTTPS在配置CAS服务器时,可以选择使用HTTPS协议来增强通信的安全性。
如果选择HTTPS协议,则需要在服务器上配置CAS证书。
证书的创建和导入过程可以参考以下链接:[http://m.blog..net/zrk1000/article/details/51166603](http://m.blog..net/zrk1000/article/details/51166603)### 总结本文详细介绍了如何配置CAS单点登录服务,并重点讲解了如何利用Java代码实现CAS的配置,包括使用数据库进行登录验证的具体步骤。
同时,还阐述了CAS的基本工作原理,帮助读者更好地理解CAS的工作流程和技术细节。
2025/6/15 19:47:19 293KB
1
全国手机号码段归属地数据库(共360569条记录)测试过可以。
想不要资源分的,但是没有这个选项。
该数据库共包含360569条记录,涵盖了最新的170和171号段,可满足几乎所有的手机号码的归属地查询。
数据文件的格式有两种:txt文件和sql文件,字符编码为utf8。
mysql中创建数据表:CREATETABLE`mobile`(`id`mediumint(8)unsignedNOTNULLAUTO_INCREMENTCOMMENT'主键',`phone`char(9)NOTNULLDEFAULT''COMMENT'手机号码段',`province`char(10)NOTNULLDEFAULT''COMMENT'省份',`city`char(10)NOTNULLDEFAULT''COMMENT'市',`service_provider`char(10)NOTNULLDEFAULT''COMMENT'运营商',`city_code`char(9)NOTNULLDEFAULT''COMMENT'区号',`postcode`char(9)NOTNULLDEFAULT''COMMENT'邮编',PRIMARYKEY(`id`),UNIQUEKEY`phone`(`phone`))ENGINE=InnoDBDEFAULTCHARSET=utf8COMMENT='全国手机号码段归属地';
2025/6/15 15:22:23 2.63MB 手机号归属地
1
ssm框架的代码生成器,基于freemarker的模板,模板可以按需自己修改。
映射文件,映射器,service接口,service实现,controller控制器均可由本工具生成。
如需生成页面文件(jsp,html等)需自己添加模板,对代码稍作修改即可。
1
这个音乐播放器用的知识比较多,androidUI,Android四大组件(activity:各个与用户交互界面,contentprovider:读取手机内部音乐,service:后台播放音乐,broadcastReceiver:监听系统广播,接听电话时中断音乐),数据存储(建立数据库,存储音乐及列表信息)等,如果能自己参考着写下来,你会进步很多!
1
《AndroidStudio深度探索:GreatHomework.zip解析》在当今移动开发领域,AndroidStudio已经成为Android应用开发的首选集成开发环境(IDE)。
它以其强大的功能、高效的性能以及对最新AndroidSDK的支持,深受开发者喜爱。
本文将通过分析名为"GreatHomework.zip"的压缩包文件,深入探讨AndroidStudio中的关键知识点,帮助开发者提升开发效率和项目管理能力。
"GreatHomework.zip"很可能是一个包含AndroidStudio项目的压缩文件。
在解压后,我们通常会看到一个包含多个子目录和文件的结构,如`app`、`gradle`、`src`等,这些都是AndroidStudio项目的基本组成元素。
`app`目录是项目的主模块,其中包含`build.gradle`文件,这是构建脚本,用于定义项目依赖和构建配置;
`src`目录则包含了源代码,分为`main`和可能的测试目录,如`androidTest`,`main`下的`java`或`kotlin`目录存放应用的业务逻辑代码,`res`目录存储资源文件如布局、图片和字符串等。
AndroidStudio使用Gradle作为构建工具,`gradle`目录下包含的是Gradle的相关配置。
`settings.gradle`文件定义了项目中的所有模块,而`build.gradle`文件(项目级别和模块级别)则定义了构建过程的规则,包括版本控制、依赖库、编译选项等。
在`GreatHomework.zip`中,这些文件将揭示项目的构建流程和依赖关系。
在AndroidStudio中,我们经常需要配置`AndroidManifest.xml`文件,它是应用的元数据,记录了应用的组件(Activity、Service等)、权限需求和其他重要设置。
开发者可以在这个文件中声明应用的入口点、所需权限以及与其他应用的交互方式。
除此之外,`GreatHomework.zip`中可能还包含测试代码,AndroidStudio支持JUnit和Espresso等测试框架,使开发者能够编写单元测试和UI测试,确保代码质量。
在`app/src/androidTest`目录下,可以看到这些测试代码。
对于资源管理,AndroidStudio提供了直观的布局编辑器和图资源管理,使得设计师和开发者可以协同工作,创建美观且响应式的用户界面。
`drawable`目录存放图像资源,`layout`目录下是XML布局文件,`values`目录则包含了颜色、字符串、尺寸等资源。
在调试和优化方面,AndroidStudio提供强大的工具,如Logcat用于查看日志,Profiler用于性能分析,以及InstantRun功能,可以快速部署应用的修改版本,极大地提高了开发效率。
"GreatHomework.zip"是一个典型的AndroidStudio项目,通过其内容我们可以了解Android应用的结构、构建过程、资源管理、测试以及调试等多个重要知识点。
理解并掌握这些,将有助于开发者在实际工作中更高效地开发和维护Android应用。
2025/5/7 14:40:52 20.33MB androidstudio
1
ArtLibraryAngular该项目是使用版本11.2.1生成的。
开发服务器为开发服务器运行ngserve。
导航到http://localhost:4200/。
如果您更改任何源文件,该应用程序将自动重新加载。
代码脚手架运行nggeneratecomponentcomponent-name生成一个新的组件。
您还可以使用nggeneratedirective|pipe|service|class|guard|interface|enum|module。
建造运行ngbuild来构建项目。
构建工件将存储在dist/目录中。
使用--prod标志进行生产构建。
运行单元测试运行ngtest通过执行单元测试。
运行端到端测试运行nge2e以通过执行端到端测试。
进一步的帮助要获得有关AngularCLI的更多帮助,请使用nghelp或查看“
2025/4/27 15:03:06 184KB TypeScript
1
作者:eoe移动开发者社区组编姚尚朗/靳岩/等出版社:人民邮电出版社出版年:2013-6-1页数:377装帧:平装ISBN:9787115314642《Android开发入门与实战(第2版)》遵循第一版的写作宗旨,通过本书的学习,让不懂Android开发的人系统地快速掌握Android开发的知识。
《Android开发入门与实战(第2版)》主要内容为:Android开发环境搭建、AndroidSDK介绍、Android应用程序结构剖析,并对Android中最重要的组件Activity、Intents&IntentFilters&Broadcastreceivers、Intent、Service、ContentProviders进行了详细的讲解;
然后对线程&进程、数据存储、Widget、网络通信和XML解析、多设备适配、AndroidUIDesign(设计规范)等核心技术和读者关心的流行技术结合实例进行了详细讲解;
最后精选了6个真实的案例,如图书信息查询、eoeWiki客户端、广告查查看看、手机信息小助手、土地浏览器、地图追踪,让读者把各种技术贯穿起来,达到学以致用的目的。
书中内容的安排循序渐进、由浅到深,跟随本书的步调,一定可以学会Android开发。
《Android开发入门与实战(第2版)》除了理论知识的介绍和演示外,还加入很多实战经验技巧和实战案例剖析,让大家在学习的时候能理论结合实战,融会贯通,真正掌握Android的开发技术。
2025/4/9 13:30:24 89.01MB Android
1
此资源包含了用户需求说明文档、用JSP编写的WEB网页模板以及用MyEclipse6.5、Tomcat6.0S、QLServer2005、Struts2、Spring3.0、Hibernate3.3等技术编写的源代码。
整个项目采用MVC模式,应用StrutsSpringHibernate三个框架实现了一个小区管理系统。
分为View层(显示层)、Control层(控制层)、Service层(业务逻辑层)、DAO层(数据库访问对象层)。
利用Spring的依赖注入和面向切面特性,hibernate的数据持久化技术、Struts的控制器实现了楼栋管理模块,房间管理模块,业主管理模块,收费管理模块,物资设备管理,管理员管理等模块。
2025/3/30 2:52:40 8.98MB 小区物业
1
安装MongoDB4以上版本时出现Service‘MongoDBServer'(MongoDB)failedtostart...错误,导致安装不成功,经本人测试原来是缺少这个依赖文件,直接安装即可……
2025/3/22 4:29:23 12.91MB MongoD vc_red
1
本项目是一个高仿天天动听5的android版音乐播放器,界面华丽功能完整,除了本地播放器应有的那些功能另外还添加了程序内直接在线匹配下载歌词(联网可用,数据源来自百度音乐盒)、皮肤背景更换、摇一摇换歌等功能,本项目是一个综合型的项目,涉及到slidemenu、pinyin4j、lrc、service、fragment、aidl、sqlite等知识,项目有比较完整的注释项目没有广告质量较高
4.92MB android源码
1
共 201 条记录 首页 上一页 下一页 尾页
在日常工作中,钉钉打卡成了我生活中不可或缺的一部分。然而,有时候这个看似简单的任务却给我带来了不少烦恼。 每天早晚,我总是得牢记打开钉钉应用,点击"工作台",再找到"考勤打卡"进行签到。有时候因为工作忙碌,会忘记打卡,导致考勤异常,影响当月的工作评价。而且,由于我使用的是苹果手机,有时候系统更新后,钉钉的某些功能会出现异常,使得打卡变得更加麻烦。 另外,我的家人使用的是安卓手机,他们也经常抱怨钉钉打卡的繁琐。尤其是对于那些不太熟悉手机操作的长辈来说,每次打卡都是一次挑战。他们总是担心自己会操作失误,导致打卡失败。 为了解决这些烦恼,我开始思考是否可以通过编写一个全自动化脚本来实现钉钉打卡。经过一段时间的摸索和学习,我终于成功编写出了一个适用于苹果和安卓系统的钉钉打卡脚本。
2024-04-09 15:03 15KB 钉钉 钉钉打卡