`
VerRan
  • 浏览: 461532 次
  • 性别: Icon_minigender_1
  • 来自: 陕西.西安
社区版块
存档分类
最新评论

JAAS 认证

阅读更多

JAAS的目的:

  • for authentication of users, to reliably and securely determine who is currently executing Java code, regardless of whether the code is running as an application, an applet, a bean, or a servlet; and

     

  • for authorization of users to ensure they have the access control rights (permissions) required to do the actions performed.

    认证的简单例子:

    1. package com.lht.jaas;   
    2.   
    3.   
    4. import javax.security.auth.login.*;   
    5. import com.sun.security.auth.callback.TextCallbackHandler;   
    6.   
    7. /**  
    8.  * This JaasAcn application attempts to authenticate a user  
    9.  * and reports whether or not the authentication was successful.  
    10.  */  
    11.   
    12. public class JaasAcn {   
    13.   
    14.   public static void main(String[] args) {   
    15.   
    16.       // Obtain a LoginContext, needed for authentication. Tell    
    17.       // it to use the LoginModule implementation specified by    
    18.       // the entry named "JaasSample" in the JAAS login    
    19.       // configuration file and to also use the specified    
    20.       // CallbackHandler.   
    21.       LoginContext lc = null;   
    22.       try {   
    23.           lc = new LoginContext("JaasSample",    
    24.                       new TextCallbackHandler());   
    25.       } catch (LoginException le) {   
    26.           System.err.println("Cannot create LoginContext. "  
    27.               + le.getMessage());   
    28.           System.exit(-1);   
    29.       } catch (SecurityException se) {   
    30.           System.err.println("Cannot create LoginContext. "  
    31.               + se.getMessage());   
    32.           System.exit(-1);   
    33.       }    
    34.   
    35.       try {   
    36.        
    37.           // attempt authentication   
    38.           lc.login();   
    39.        
    40.       } catch (LoginException le) {   
    41.        
    42.           System.err.println("Authentication failed: ");   
    43.           System.err.println("  " + le.getMessage());   
    44.           System.exit(-1);   
    45.        
    46.       }   
    47.        
    48.       System.out.println("Authentication succeeded!");   
    49.        
    50.     }   
    51. }   
    52.   

    配置文件:

    1. JaasSample {   
    2.   com.sun.security.auth.module.Krb5LoginModule required;   
    3. };  
    1. grant codebase "file:./JaasAcn.jar" {   
    2.    permission javax.security.auth.AuthPermission    
    3.                     "createLoginContext.JaasSample";   
    4. };  
  • 分享到:
    评论

    相关推荐

      JAAS 认证服务

      ### JAAS认证服务详解 #### 一、JAAS简介 JAAS(Java Authentication and Authorization Service)是Java平台提供的一种安全框架,用于实现客户端应用程序的安全认证和授权管理。它为Java应用提供了一种灵活的方式...

      JAAS认证与授权教程

      JAAS允许通过组合多个登录模块来支持多种认证机制,增强了系统的灵活性。 授权方面,JAAS不直接处理权限的分配,而是依赖于Java的访问控制机制,如Java Security Manager和Permissions。一旦用户通过了认证,应用...

      JAAS认证(mac版tomcat)

      **Java Authentication and Authorization Service (JAAS) 认证在Mac版Tomcat中的应用** Java Authentication and Authorization Service (JAAS) 是Java平台的核心组件,用于提供安全的用户认证和权限管理。在Mac版...

      JAAS Demo

      #### 六、JAAS认证流程 1. **初始化LoginContext**:创建LoginContext实例时需指定一个Configuration对象,该对象包含了LoginModule的配置信息。 2. **调用login()方法**:LoginContext的login()方法启动认证过程,...

      在JAAS基础上的Java安全编程

      公共类是由JAAS认证和授权部分共同使用的类,其中最重要的是`Subject`类。`Subject`类封装了一个主体的相关信息,包括标识、公有凭据、私有凭据等。 - **Subject 类** `Subject`类是JAAS的核心类之一,用于代表...

      JAAs验证机制.doc

      JaasAuthenticationProvider是Spring Security中处理JAAS认证请求的组件,其配置主要包括登录配置文件路径、登录上下文名称、回调处理器和权限授予器。在给定的示例中,`JaasAuthenticationProvider` 被配置为使用 `...

      JAAS两个可以运行的例子

      例如,可以通过Servlet过滤器来检查用户是否已经通过了JAAS认证,并具有执行特定操作的权限。 总结,这两个JAAS示例为我们展示了如何构建和配置自定义的登录模块,以及如何将它们集成到应用程序中进行用户认证和...

      Java JAAS安全认证 demo

      这个"Java JAAS安全认证 demo"是一个示例项目,旨在帮助开发者理解如何在Java应用中实施安全认证机制。JAAS是Java EE和Java SE应用程序进行安全控制的重要工具,它允许开发人员为不同的安全域定义灵活的身份验证策略...

      JAAS登录验证文档

      Java Authentication and Authorization Service(JAAS)是Java平台提供的一种安全框架,它允许开发者为应用程序添加认证和授权功能。与传统的基于容器的身份验证不同,JAAS提供了更为灵活和强大的机制来处理用户的...

      java JAAS登陆验证

      容器通常有自己的安全配置,但可以通过配置使其与JAAS交互,从而利用JAAS的认证和授权能力。 **总结** Java JAAS为Java开发者提供了强大的安全基础,允许他们灵活地处理用户认证和授权。理解并熟练使用JAAS对于...

      jaas规范实现代码

      3. **登录模块(Login Module)**:这是 JAAS 实现认证的核心部分,每个登录模块负责一种特定的认证方式。登录模块可以是本地系统账户验证,也可以是 LDAP、Kerberos 或其他外部认证服务。 4. **配置文件...

      JAAS简介及实例

      JAAS的核心理念是将认证(Authentication)和授权(Authorization)功能模块化,允许开发人员通过插件式的方式进行扩展。 标题“JAAS简介及实例”表明我们将探讨JAAS的基本概念、工作原理,以及如何通过一个实际的...

      JAAS In Action download

      - **配置(Configuration)**: JAAS配置文件定义了哪些登录模块将被用于特定的认证上下文,以及它们的执行顺序。 - **登录模块(Login Module)**: 登录模块是认证的核心,每个模块都有自己的认证策略。如果所有...

      基于JAAS的Java安全编程

      Java 2平台的安全框架主要关注代码来源的认证和控制,而JAAS则在此基础上增加了对代码执行者的认证和授权,从而实现了更加精细的访问控制。 随着互联网安全问题的日益凸显,JAAS作为一种强大的安全机制,在Java EE ...

      java软件包文件 jaas.jar

      Java Authentication and Authorization Service (JAAS) 是Java平台中用于安全性的关键组件,它提供了一种框架,用于在Java应用程序中实现认证(Authentication)和授权(Authorization)。`jaas.jar` 文件是这个...

      spring security

      配置JAAS认证提供者时,需要指定一个实现`JaasAuthenticationProvider`接口的Bean,并配置相应的回调处理器和权限授予器。 ##### 8.2.1 JAAS回调处理器 JAAS回调处理器是用来处理用户认证过程中所需的信息,例如...

      acegi的详细配置实现

      JAAS认证提供者利用Java自带的JAAS(Java Authentication and Authorization Service)来实现认证逻辑。 ##### 8.2 配置 配置JAAS认证提供者涉及到创建回调处理器(CallbackHandler)和权限授予器(AuthorityGranter)...

      JAAS简介及实例.

      JAAS的主要目标是提供用户认证和授权服务,确保应用程序能根据用户的身份控制资源的访问。通过动态安全策略,JAAS允许开发者在不修改代码的情况下调整权限,提高了灵活性。 JAAS设计为可插拔的系统,意味着开发者或...

    Global site tag (gtag.js) - Google Analytics