atitit.身份认证解决方案attilax总结

1.1. 身份认证1

1.2.  basic认证1

1.2.1. 编程实现basic客户端2

1.3. digest认证机制3

1.4. SSL认证3

1.5. FormBase认证,也就是表单认证3

This is a premature infants from China, 100 days, and had liver failure, cholestasis and other diseases, at present in Shanghai treatment, but need to large medical expenses. He needs our help, and look forward to more people to help him.
这是一个来自中国的软件开发界,得了面临开发效率等危机,目前亟待治疗,但是需要大力帮忙。兄弟们世界需要我们的帮助,还有转发一下,让更多的人帮到。

1.1. 身份认证

有一些网址或者服务需要用户的身份信息,因此需要随时知道这些消息,但是肯定不能每次都让用户输入用户密码,因此关于认证就有下面几种方式:

1.2.  basic认证

basic认证是另一个常用的认证方式,与表单认证不同的是,basic认证常用于无状态客户端的验证,比如HttpInvoker或者Web Service的认证,这种场景的特点是客户端每次访问应用时,都在请求头部携带认证信息,一般就是用户名和密码,因为basic认证会传递明文,所以最好使用https传输数据。

asic认证不使用session

作者::  ★(attilax)>>>   绰号:老哇的爪子 ( 全名::Attilax Akbar Al Rapanui 阿提拉克斯 阿克巴 阿尔 拉帕努伊 ) 汉字名:艾龙,  EMAIL:1466519819@qq.com

转载请注明来源: http://www.cnblogs.com/attilax/

1.2.1. 编程实现basic客户端

下面我们来示范一下如何使用basic认证。假设我们在basic.jsp中需要远程调用http://localhost:8080/ch104/admin.jsp的内容。这时为了能够通过Spring Security的权限检测,我们需要在请求的头部加上basic所需的认证信息。

String username = "admin";

String password = "admin";

byte[] token = (username + ":" + password).getBytes("utf-8");

String authorization = "Basic " + new String(Base64.encodeBase64(token), "utf-8");

URL url = new URL("http://localhost:8080/ch104/admin.jsp");

HttpURLConnection conn = (HttpURLConnection) url.openConnection();

conn.setRequestProperty("Authorization", authorization);

我们先将用户名和密码拼接成一个字符串,两者之间使用“:”分隔。

然后使用commons-codec的Base64将这个字符串加密。在进行basic认证的时候Spring Security会使用commons-codec把这段字符串反转成用户名和密码,再进行认证操作。

下一步为加密后得到的字符串添加一个前缀"Basic ",这样Spring Security就可以通过这个判断客户端是否使用了basic认证。

将上面生成的字符串设置到请求头部,名称为“Authorization”。Spring Security会在认证时,获取头部信息进行判断。

有关basic代码可以在/ch104/basic.jsp找到,可以运行ch104,然后访问http://localhost:8080/ch104/basic.jsp。它会使用上述的代码,通过Spring Security的认证,成功访问到admin.jsp的信息

1.3. digest认证机制

是基于MD5算法的LINUX安全认证机制。会比较用户端传送的杂凑值与使用者密码的杂凑值,以认证用户端。但由于此机制必须读取使用者密码,因此所有想透过 DIGEST-MD5 进行认证的使用者,在目录中都必须要有 {CLEAR} 密码。将 {CLEAR} 密码储存到目录时,透过 ACI 适当地限制密码值的存取权。此外,还必须如为属性值加密中所述,在尾码中配置属性加密。

http协议之digest(摘要)认证 - jszj的专栏 - 博客频道 - CSDN.NET.html

1.4. SSL认证

SSL认证是指客户端到服务器端的认证。主要用来提供对用户和服务器的认证;对传送的数据进行加密和隐藏;确保数据在传送中不被改变,即数据的完整性,现已成为该领域中全球化的标准。

1.5. FormBase认证,也就是表单认证

在这里主要说一下FormBase认证,也就是表单认证

1.5.0.1. 使用Cookie来管理Session

 

参考

第 14 章 basic认证.html

HTTP使用BASIC认证的原理及实现方法-atlantisholic-ITPUB博客.html

atitit.身份认证解决方案attilax总结的更多相关文章

  1. C#进阶系列——WebApi 身份认证解决方案:Basic基础认证

    前言:最近,讨论到数据库安全的问题,于是就引出了WebApi服务没有加任何验证的问题.也就是说,任何人只要知道了接口的url,都能够模拟http请求去访问我们的服务接口,从而去增删改查数据库,这后果想 ...

  2. #进阶系列——WebApi 身份认证解决方案:Basic基础认证

    阅读目录 一.为什么需要身份认证 二.Basic基础认证的原理解析 1.常见的认证方式 2.Basic基础认证原理 三.Basic基础认证的代码示例 1.登录过程 2./Home/Index主界面 3 ...

  3. WebApi身份认证解决方案:Basic基础认证

    前言:最近,讨论到数据库安全的问题,于是就引出了WebApi服务没有加任何验证的问题.也就是说,任何人只要知道了接口的url,都能够模拟http请求去访问我们的服务接口,从而去增删改查数据库,这后果想 ...

  4. C#进阶系列——WebApi身份认证解决方案:Basic基础认证 (转)

    http://www.cnblogs.com/landeanfen/p/5287064.html 前言:最近,讨论到数据库安全的问题,于是就引出了WebApi服务没有加任何验证的问题.也就是说,任何人 ...

  5. (转)C# WebApi 身份认证解决方案:Basic基础认证

    原文地址:http://www.cnblogs.com/landeanfen/p/5287064.html 阅读目录 一.为什么需要身份认证 二.Basic基础认证的原理解析 1.常见的认证方式 2. ...

  6. WebAPI 身份认证解决方案——Phenix.NET企业应用软件快速开发平台.使用指南.21.WebAPI服务(一)

    21   WebAPI服务 ASP.NET Web API,是微软在.NET Framework 4.5上推出的轻量级网络服务框架,虽然作为ASP.NET MVC 4的一部分,但却是一套全新的.独立的 ...

  7. WebApi 身份认证解决方案:Basic基础认证

    前言:最近,讨论到数据库安全的问题,于是就引出了WebApi服务没有加任何验证的问题.也就是说,任何人只要知道了接口的url,都能够模拟http请求去访问我们的服务接口,从而去增删改查数据库,这后果想 ...

  8. 操作系统(AIX)双因素身份认证解决方案-中科恒伦CKEY DAS

      一.场景分析 操作系统是管理计算机硬件与软件资源的计算机程序,用于工作中的进程管理.存储管理.设备管理.文件管理.作业管理等,十分重要,安全等级极高! 二.问题分析 1.密码设置简单,非常容易被撞 ...

  9. Atitit HTTP 认证机制基本验证 (Basic Authentication) 和摘要验证 (Digest Authentication)attilax总结

    Atitit HTTP认证机制基本验证 (Basic Authentication) 和摘要验证 (Digest Authentication)attilax总结 1.1. 最广泛使用的是基本验证 ( ...

随机推荐

  1. Javascript定时器(一)——单线程

    一.JavaScript 引擎是单线程的 可以从下面的代码中看到,第一个用setTimeout中的代码是死循环,由于是单线程,下面的两个定时器就没机会执行了. <script type=&quo ...

  2. Struts+Hibernate+Spring实现用户登录功能

    通过登录案例实现三大框架之间的整合,登录功能是任何系统和软件必不可少的一个模块,然而通过这个模块来认识这些复杂的框架技术,理解数据流向和整个设计思路是相当容易的.只有在掌握了这些小模块的应用后,才能轻 ...

  3. Jsp字符编码过滤器

    通过此过滤器,可以实现统一将编码设置为UTF-8. 1.首先在web.xml中配置,添加如下代码: <!-- 过滤器 --> <filter> <filter-name& ...

  4. 解决AndroidADT自带Eclipse编辑器不能自动代码提示的问题。

    今天发现,我下载的AndroidADT开发套装中自带的Eclipse没有自动代码提示功能.通过参考http://blog.csdn.net/coolszy/article/details/724195 ...

  5. 你必须知道的ASP.NET-----IHttpAsyncHandler实质

    一.写在前面 一说到IHttpAsyncHandler,很多人会顾名思义地说'不就是异步IHttpHandler'吗? 但当我发出疑问:"你真知道他们的不同之处?你真会使用它吗?" ...

  6. C#--析构函数

  7. dp - 2016腾讯笔试 A

    2016腾讯笔试 A Problem's Link -------------------------------------------------------------------------- ...

  8. MS SQL中使用UPDATE ... INNER JOIN ...

    昨天的SQL编程中,有使用到一个方法,就是把一个表某一字段更新至另一个表的字段中去. 实现这个方法,Insus.NET有尝试了几个方法,下面一一分享出来,让大家参考参考. 下面的数据只是模拟了,形式与 ...

  9. sql 删除重复行

    1.查找表中多余的重复记录,重复记录是根据单个字段(peopleId)来判断 select * from people where peopleId in (select peopleId from ...

  10. 【人在江湖飘,哪有不带刀】神器Jumony

    大神博客:http://www.cnblogs.com/Ivony/p/3447536.html 项目地址:https://github.com/Ivony/Jumony 1.安装Jumony包 在N ...