WEB开发网
开发学院软件开发Java 将 Tivoli Access Manager 与 ObjectGrid 集成以对... 阅读

将 Tivoli Access Manager 与 ObjectGrid 集成以对分布式客户机进行身份验证和授权

 2009-09-30 00:00:00 来源:WEB开发网   
核心提示: 清单 1 显示了 Authenticator 实现类中的 com.ibm.websphere.samples.objectgrid.security.tam.TAMAuthenticator 身份验证方法,您将会看到,将 Tivoli Access Manager 与 ObjectGrid 集成

清单 1 显示了 Authenticator 实现类中的 com.ibm.websphere.samples.objectgrid.security.tam.TAMAuthenticator 身份验证方法。您将会看到,其中利用了 JAAS 身份验证服务来使用登录名登录到 Access Manager。

清单 1. TAMAuthenticator.authenticate(Credential) 方法

subject = (Subject) AccessController.doPrivileged(new PrivilegedExceptionAction() { 
  public Object run() throws InvalidCredentialException, 
  ExpiredCredentialException 
  { 
    UserPasswordCredential cred = (UserPasswordCredential) credential; 
    LoginContext lc = null; 
    try { 
      lc = new LoginContext(loginName, new UserPasswordCallbackHandlerImpl(cred 
  .getUserName(), cred.getPassword().toCharArray())); 
 
      lc.login(); 
 
      Subject s = lc.getSubject(); 
      System.out.println("The authenticated subject is " + s); 
 
      return s; 
    } catch (LoginException le) { 
      throw new InvalidCredentialException(le); 
    } catch (IllegalArgumentException ile) { 
      throw new InvalidCredentialException(ile); 
    }

ObjectGridAuthorization

客户机经过身份验证后,将从服务器返回 Subject 对象。此 Subject 可以用于对客户机访问进行授权。由于 ObjectGrid 提供 JAAS 授权现成支持,因此可以在 Java 策略文件或 JAAS 授权策略文件中定义 JAAS 授权策略。典型策略与以下所示类似:

上一页  1 2 3 4 5 6 7 8 9 10  下一页

Tags:Tivoli Access Manager

编辑录入:爽爽 [复制链接] [打 印]
赞助商链接