Welcome 微信登录
编程资源 图片资源库 蚂蚁家优选 PDF转换器 软件资源

软件开发小程序制作系统集成与运维空间租用硬件开发视频监控技术咨询与支持——联系电话:0311-88999002/88999003

首页 / 操作系统 / Linux

Spring Security 学习之HTTP基本认证和HTTP摘要认证

Spring Security 学习之HTTP基本认证和HTTP摘要认证

HTTP基本认证1. 简介在HTTP中,基本认证是一种用来允许Web浏览器或其他客户端程序在请求时提供用户名和口令形式的身份凭证的一种登录验证方式。在发送之前是以用户名追加一个冒号然后串接上口令,并将得出的结果字符串再用Base64算法编码。例如,提供的用户名是Aladdin、口令是open sesame,则拼接后的结果就是Aladdin:open sesame,然后再将其用Base64编码,得到QWxhZGRpbjpvcGVuIHNlc2FtZQ==。最...
Spring Security 学习之X.509认证

Spring Security 学习之X.509认证

一、基本概念X.509认证:国际证书格式标准,比较常用的一种认证方式,如日常使用的网银和支付宝等都在使用。SSL:是一种安全协议,目的是为网络通信提供安全及数据完整性保障,SSL在传输层中对网络通信进行加密。二、X.509证书制作可以使用JDK自带的keytool工具制作证书,命令参考一下说明,参数值可以修改。服务器证书生成:keytool -genkey -keyalg RSA -dname "cn=localhost,OU=java, O=spring...
Spring Security 学习之OpenID认证

Spring Security 学习之OpenID认证

一、前言OpenID是一个以用户为中心的数字身份识别框架,它具有开放、分散、自由等特性.登录一个支持 OpenID 的网站非常简单(即便你是第一次访问这个网站也是一样)。 只需要输入你注册好的 OpenID 用户名,然后你登录的网站会跳转到你的 OpenID 服务网站, 在你的 OpenID 服务网站输入密码(或者其它需要填写的信息)验证通过后, 你会回到登录的网站并且已经成功登录。 OpenID 系统可以应用于所有需要身份验证的地方, 既可以应用于单点登...
Spring Security 学习之数据库认证

Spring Security 学习之数据库认证

一、前言数据库认证(Database-provided authentication):应用通过数据库获取用户认证信息。认证提供者(Authentication Provider):Spring提供了一系列认证方式,如LDAP、OpenID等,对应的认证服务都需要实现AuthenticationProvider接口,开发人员可以自定义AuthenticationProvider实现。二、Spring配置数据库认证本质上与其它认证方式没有区别,区别就是获取用...
Java String常见问题回答

Java String常见问题回答

1. 如何比较两个字符串?使用“==”还是equals()方法?简单来讲,“==”测试的是两个对象的引用是否相同,而equals()比较的是两个字符串的值是否相等。除非你想检查的是两个字符串是否是同一个对象,否则你应该使用equals()来比较字符串。如果你知道interning的概念的话,那就更好了。2. 为什么针对安全保密高的信息,char[]比String更好?因为String是不可变的,就是说它一旦创...
驱动支持select函数

驱动支持select函数

I/O多路转接至今还不是 POSIX的组成部分。SVR4和 4.3 + BSD都提供select函数以执行I/O多路转接。poll函数只由SVR4 提供。SVR4 实际上用poll实现select。I/O多路转接的基本思想是:先构造一张有关描述符的表,然后调用一个函数,它要到这些描述符中的一个已准备好进行 I/O时才返回。在返回时,它告诉进程哪一个描述符已准备好可以进行 I/O。I/O多路转接在服务器端用的比较多,可以同时处理多个连接的接入,但是也有缺陷,...
Linux下产生死锁问题分析

Linux下产生死锁问题分析

死锁是指两个或两个以上的进程在执行过程中,因争夺资源而造成的一种互相等待的现象。死锁要产生必须具备四个必要条件:1. 互斥条件 2. 请求和保持条件 3.不可剥夺条件 4. 环路等待条件。由于资源占用是互斥的,当某个进程提出申请资源后,使得有关进程在无外力协助下,永远分配不到必需的资源而无法继续运行,这就产生了一种特殊现象死锁。下面举一个Linux环境下产生死锁的程序(首先是驱动部分):#include <linux/module.h> #in...
Linux字符驱动中动态分配设备号与动态生成设备节点

Linux字符驱动中动态分配设备号与动态生成设备节点

在编写Linux内核驱动程序的时候,如果不动态生成设备号的话,需要自己手动分配设备号,有可能你分配的设备号会与已有设备号相同而产生冲突。因此推荐自动分配设备号。使用下面的函数:int alloc_chrdev_region(dev_t *dev, unsigned baseminor, unsigned count, const char *name)该函数需要传递给它指定的第一个次设备号baseminor(一般为0)和要分配的设备数count,以及...
I/O multiplexing 与 非阻塞网络编程

I/O multiplexing 与 非阻塞网络编程

使用I/O multipexing 的网络编程中,一般需要采用非阻塞网络编程的风格,防止服务端在处理高连接量大时候阻塞在某个文件描述符上面,比如某个socket 有大量的数据需要写,但是内核发送缓冲区已经填满,无法在一次write中将需要发送到数据发送出去,程序就会阻塞在该处,导致select/poll/epoll_wait() 此时不能处理其它到来的请求,同样read或者accept也可能出现阻塞的情况,比如当客户端发起connect,之后立刻关闭该链接...
Linux Socket 编程I/O Multiplexing

Linux Socket 编程I/O Multiplexing

Linux Socket 编程中I/O Multiplexing 主要通过三个函数来实现:select, poll,epoll来实现。I/O Multiplexing,先构造一张有关描述符的列表,然后调用一个函数,直到这些描述符中的一个已准备好进行I/O时,该函数才返回。在返回时,它告诉进程哪些描述符已准备好可以进行I/O。本文具体介绍一下select 和poll的用法,给出简单的demo代码,简要分析一下这两个函数的使用易出错的地方。#include&l...
Android studio删除工程项目

Android studio删除工程项目

本新手最近学Android都是用的eclipse。其实个人觉得eclipse不错,可能接触Android不久,倒也不觉得它慢还是怎样。对于Google的Android studio也是早有耳闻,前两天终于去下了一个,win7跟Ubuntu下面都装上了。当然,本人更习惯于在ubuntu下面开发。问题来了,发现找来找去就是不知道怎么删除Android studio里的工程项目。右键菜单啊,主菜单啊,什么都找不到名叫Delete或者叫Remove的菜单项。直接按...
<< 3591 3592 3593 3594 3595 3596 3597 3598 3599 3600 >>