#Maven简介
Maven在意第绪语(属于日耳曼语族)中是积累知识的意思,最早是在Jakarta Turbine项目中为了简化项目构建过程而提出的,该项目中用Ant管理的好几个项目都大同小异,项目依赖的Jar包在CSV中统一管理。但我们想要一种标准的方式来构建项目,一个项目构成的明确的定义,一种简单的方式来发布项目信息和在不同的项目中共享Jar包。最终有这样一个可以用来构建和管理所有Java工程的工具也就是Maven。我们希望我们可以让Java工程师们每天都要进行的工作能够更简单,而且可以帮助Java工程更易于理解。
Maven最初的目标是让开发者在最短的时间里理解开发过程中的所有步骤。为了达到这个目标Maven做了以下方面的努力:
Intellij IDEA中有很多快捷键让人爱不释手,stackoverflow上也有一些有趣的讨论。每个人都有自己的最爱,想排出个理想的榜单还真是困难。以前也整理过Intellij的快捷键,这次就按照我日常开发时的使用频率,简单分类列一下我最喜欢的十大快捷-神-键吧。
JAVA的中文字符乱码问题一直很让人头疼。特别是在WEB应用中。网上的分析文章和解决方案都很多,但总是针对某些特定情况的。很多次遇到乱码问题后,经过极为辛苦的调试和搜索资料后终于解决,满以为自己已经掌握了对付这些字符乱码怪兽的诀窍。可当过段时间,换了个应用或换了个环境,又会碰到那讨厌的火星文,并再次无所适从。于是下决心好好整理一下中文字符编码问题,以方便自己记忆,也为其他程序员兄弟们提供一份参考。
ASP.NET Identity was designed to solve site membership requirements.
微软在.NET Framework 4.5 中推出了ASP.NET Identity,它为ASP.NET 应用程序提供了一系列的API用来管理和维护用户,有以下优点:
易于集成:ASP.NET Identity 可以用在所有的 ASP.NET 框架上,例如 ASP.NET MVC, Web Forms,Web Pages,ASP.NET Web API
1. 持久化 默认情况下,ASP.NET Identity将用户所有的数据存储在数据库中。ASP.NET Identity 使用 Entity Framework 实现其所有的检索和持久化机制。 通过Code First,你可以对数据库架构的完全控制,一些常见的任务例如改变表名称、改变主键数据类型等都可以很轻易地完成。
2. 基于声明的 ASP.NET Identity 支持基于声明的身份验证,它使用一组”声明”来表示用户的身份标识。相对于”角色”,”声明”能使开发人员能够更好地描述用户的身份标识。”角色”本质上只是一个布尔类型(即”属于”或”不属于”特定角色),而一个”声明”可以包含更多关于用户标识和成员资格的信息。
ApplicationUser
和ApplicationDbContext
分别继承自己Microsoft.AspNet.Identity.EntityFramework
的IdentityUser
和IdentityDbContext
。但与用户相关的操作实际上是通过Microsoft.AspNet.Identity.Core
的 UserManager
类来完成的,而UserManager
的所有操作最终是由UserStore
实现。
安全问题一直是ASP.NET的关注点。其中,Windows验证和表单验证(Forms Authentication)就是ASP.NET两种主要的安全机制。
1. Windows验证 一般用于局域网应用。使用Windows验证时,用户的Windows安全令牌在用户访问整个网站期间使用HTTP请求,进行消息发送。应用程序会使用这个令牌在本地(或者域)里验证用户账号的有效性,也会评估用户所在角色所具备的权限。当用户验证失败或者未授权时,浏览器就会定向到特定的页面让用户输入自己的安全凭证(用户名和密码)。
2. Forms验证 Windows验证的局限性非常明显,一旦用户有超出本地域控制器范围的外网用户访问网站,就会出现问题。ASP.NET表单验证(Forms Authentication)很好的弥补了这一缺陷。使用表单验证,ASP.NET需要验证加密的HTTP cookie或者查询字符串来识别用户的所有请求。cookie与ASP.NET会话机制(session)的关系密切,在会话超时或者用户关闭浏览器之后,会话和cookie就会失效,用户需要重新登录网站建立新的会话。
讲到Identity的验证方式就绕不过Claims的认证方式,Claims认证最大的好处就是简单的隔离了验证(Authentication)和授权(Authorization)两个部分,但这也是它最大的优势。
.NET下Claims-based认证的主要由ClaimsIdentity
以及ClaimsPrincipal
这两个类组成,ClaimsIdentity
可以理解为携带用户信息的证书,而ClaimsPrincipal
可以理解为应用颁发的令牌,当然,认证机构可以是应用本身,也可以是实现Owin(OpenWeb Interface for .NET)方式的第三方认证。
在做JSP页面调试div的高度的时候,在IE或IE内核浏览器里都已经测试通过没有任何问题,但是在Chrome、Mozilla、Firefox、Netscape里测试时问题就来了