Java认证和授权服务Java Authentication and Authorization Service,简称JAAS)是一个Java以用户为中心的安全框架,作为Java以代码为中心的安全的补充。自Java运行环境(JRE) 1.4起,JAAS就被集成到JRE,而之前是作为一个扩展库由Sun公司提供的。

JAAS的主要目标是分开使用者认证的议题,这样就可以个别地管理他们。

管理

编辑

对系统管理者而言,JAAS有两种设定档:

  • *.login.conf:详述如何插入厂商提供的用户认证模块(Login Module)到特定应用程式里。
  • *.policy:详述哪个身份(使用者或程式)获得哪种许可

例如,一个有这种login.conf的档案指出不同的认证机制要如何执行以认证使用者。

   PetShopApplication {
      com.sun.security.auth.module.LdapLoginModule sufficient;
      com.foo.SmartcardLoginModule                 requisite;
      com.sun.security.auth.module.UnixLoginModule required debug=true;
   };

应用程序接口

编辑

对应用程式开发者而言,JAAS是一个标准的程式库,并提供了:

  • 身份(Principal)和一系列证书(Subject)表示。
  • 认证服务,将调用你的应用程序的回调接口请求用户的信息,如用户名和口令。认证服务将返回一个新的Subject对象。
  • 授权服务,验证一个Subject是否由管理员授予了某个权限。

安全系统集成

编辑

对安全系统整合者而言,JAAS提供的介面可以:

  • 提供你的身分名字空间给应用程式。
  • 将证书附加在线程上(Subject)。
  • 有关登录模块的开发。你的模块调用回调函数查询用户,检查他们的应答并生成Subject

参见

编辑

外部链接

编辑