Java Doc for JndiLoginModule.java in  » 6.0-JDK-Modules-com.sun » security » com » sun » security » auth » module » Java Source Code / Java DocumentationJava Source Code and Java Documentation

Java Source Code / Java Documentation
1. 6.0 JDK Core
2. 6.0 JDK Modules
3. 6.0 JDK Modules com.sun
4. 6.0 JDK Modules com.sun.java
5. 6.0 JDK Modules sun
6. 6.0 JDK Platform
7. Ajax
8. Apache Harmony Java SE
9. Aspect oriented
10. Authentication Authorization
11. Blogger System
12. Build
13. Byte Code
14. Cache
15. Chart
16. Chat
17. Code Analyzer
18. Collaboration
19. Content Management System
20. Database Client
21. Database DBMS
22. Database JDBC Connection Pool
23. Database ORM
24. Development
25. EJB Server geronimo
26. EJB Server GlassFish
27. EJB Server JBoss 4.2.1
28. EJB Server resin 3.1.5
29. ERP CRM Financial
30. ESB
31. Forum
32. GIS
33. Graphic Library
34. Groupware
35. HTML Parser
36. IDE
37. IDE Eclipse
38. IDE Netbeans
39. Installer
40. Internationalization Localization
41. Inversion of Control
42. Issue Tracking
43. J2EE
44. JBoss
45. JMS
46. JMX
47. Library
48. Mail Clients
49. Net
50. Parser
51. PDF
52. Portal
53. Profiler
54. Project Management
55. Report
56. RSS RDF
57. Rule Engine
58. Science
59. Scripting
60. Search Engine
61. Security
62. Sevlet Container
63. Source Control
64. Swing Library
65. Template Engine
66. Test Coverage
67. Testing
68. UML
69. Web Crawler
70. Web Framework
71. Web Mail
72. Web Server
73. Web Services
74. Web Services apache cxf 2.0.1
75. Web Services AXIS2
76. Wiki Engine
77. Workflow Engines
78. XML
79. XML UI
Java
Java Tutorial
Java Open Source
Jar File Download
Java Articles
Java Products
Java by API
Photoshop Tutorials
Maya Tutorials
Flash Tutorials
3ds-Max Tutorials
Illustrator Tutorials
GIMP Tutorials
C# / C Sharp
C# / CSharp Tutorial
C# / CSharp Open Source
ASP.Net
ASP.NET Tutorial
JavaScript DHTML
JavaScript Tutorial
JavaScript Reference
HTML / CSS
HTML CSS Reference
C / ANSI-C
C Tutorial
C++
C++ Tutorial
Ruby
PHP
Python
Python Tutorial
Python Open Source
SQL Server / T-SQL
SQL Server / T-SQL Tutorial
Oracle PL / SQL
Oracle PL/SQL Tutorial
PostgreSQL
SQL / MySQL
MySQL Tutorial
VB.Net
VB.Net Tutorial
Flash / Flex / ActionScript
VBA / Excel / Access / Word
XML
XML Tutorial
Microsoft Office PowerPoint 2007 Tutorial
Microsoft Office Excel 2007 Tutorial
Microsoft Office Word 2007 Tutorial
Java Source Code / Java Documentation » 6.0 JDK Modules com.sun » security » com.sun.security.auth.module 
Source Cross Reference  Class Diagram Java Document (Java Doc) 


java.lang.Object
   com.sun.security.auth.module.JndiLoginModule

JndiLoginModule
public class JndiLoginModule implements LoginModule(Code)

The module prompts for a username and password and then verifies the password against the password stored in a directory service configured under JNDI.

This LoginModule interoperates with any conformant JNDI service provider. To direct this LoginModule to use a specific JNDI service provider, two options must be specified in the login Configuration for this LoginModule.

 user.provider.url=name_service_url
 group.provider.url=name_service_url
 
name_service_url specifies the directory service and path where this LoginModule can access the relevant user and group information. Because this LoginModule only performs one-level searches to find the relevant user information, the URL must point to a directory one level above where the user and group information is stored in the directory service. For example, to instruct this LoginModule to contact a NIS server, the following URLs must be specified:
 user.provider.url="nis://NISServerHostName/NISDomain/user"
 group.provider.url="nis://NISServerHostName/NISDomain/system/group"
 
NISServerHostName specifies the server host name of the NIS server (for example, nis.sun.com, and NISDomain specifies the domain for that NIS server (for example, jaas.sun.com. To contact an LDAP server, the following URLs must be specified:
 user.provider.url="ldap://LDAPServerHostName/LDAPName"
 group.provider.url="ldap://LDAPServerHostName/LDAPName"
 
LDAPServerHostName specifies the server host name of the LDAP server, which may include a port number (for example, ldap.sun.com:389), and LDAPName specifies the entry name in the LDAP directory (for example, ou=People,o=Sun,c=US and ou=Groups,o=Sun,c=US for user and group information, respectively).

The format in which the user's information must be stored in the directory service is specified in RFC 2307. Specifically, this LoginModule will search for the user's entry in the directory service using the user's uid attribute, where uid=username. If the search succeeds, this LoginModule will then obtain the user's encrypted password from the retrieved entry using the userPassword attribute. This LoginModule assumes that the password is stored as a byte array, which when converted to a String, has the following format:

 "{crypt}encrypted_password"
 
The LDAP directory server must be configured to permit read access to the userPassword attribute. If the user entered a valid username and password, this LoginModule associates a UnixPrincipal, UnixNumericUserPrincipal, and the relevant UnixNumericGroupPrincipals with the Subject.

This LoginModule also recognizes the following Configuration options:

 debug          if, true, debug messages are output to System.out.
 useFirstPass   if, true, this LoginModule retrieves the
 username and password from the module's shared state,
 using "javax.security.auth.login.name" and
 "javax.security.auth.login.password" as the respective
 keys.  The retrieved values are used for authentication.
 If authentication fails, no attempt for a retry is made,
 and the failure is reported back to the calling
 application.
 tryFirstPass   if, true, this LoginModule retrieves the
 the username and password from the module's shared state,
 using "javax.security.auth.login.name" and
 "javax.security.auth.login.password" as the respective
 keys.  The retrieved values are used for authentication.
 If authentication fails, the module uses the
 CallbackHandler to retrieve a new username and password,
 and another attempt to authenticate is made.
 If the authentication fails, the failure is reported
 back to the calling application.
 storePass      if, true, this LoginModule stores the username and password
 obtained from the CallbackHandler in the module's
 shared state, using "javax.security.auth.login.name" and
 "javax.security.auth.login.password" as the respective
 keys.  This is not performed if existing values already
 exist for the username and password in the shared state,
 or if authentication fails.
 clearPass     if, true, this LoginModule clears the
 username and password stored in the module's shared state
 after both phases of authentication (login and commit)
 have completed.
 

version:
   1.19, 05/05/07


Field Summary
final public  StringGROUP_PROVIDER
    
final public  StringUSER_PROVIDER
    
 DirContextctx
    
final static  java.util.ResourceBundlerb
    


Method Summary
public  booleanabort()
    

This method is called if the LoginContext's overall authentication failed. (the relevant REQUIRED, REQUISITE, SUFFICIENT and OPTIONAL LoginModules did not succeed).

If this LoginModule's own authentication attempt succeeded (checked by retrieving the private state saved by the login and commit methods), then this method cleans up any state that was originally saved.


exception:
  LoginException - if the abort fails.

public  booleancommit()
     Abstract method to commit the authentication process (phase 2).

This method is called if the LoginContext's overall authentication succeeded (the relevant REQUIRED, REQUISITE, SUFFICIENT and OPTIONAL LoginModules succeeded).

If this LoginModule's own authentication attempt succeeded (checked by retrieving the private state saved by the login method), then this method associates a UnixPrincipal with the Subject located in the LoginModule.

public  voidinitialize(Subject subject, CallbackHandler callbackHandler, Map<String, ?> sharedState, Map<String, ?> options)
     Initialize this LoginModule.


Parameters:
  subject - the Subject to be authenticated.

public  booleanlogin()
    

Prompt for username and password. Verify the password against the relevant name service.

true always, since this LoginModuleshould not be ignored.
exception:
  FailedLoginException - if the authentication fails.

public  booleanlogout()
     Logout a user.

This method removes the Principals that were added by the commit method.


exception:
  LoginException - if the logout fails.


Field Detail
GROUP_PROVIDER
final public String GROUP_PROVIDER(Code)



USER_PROVIDER
final public String USER_PROVIDER(Code)
JNDI Provider



ctx
DirContext ctx(Code)



rb
final static java.util.ResourceBundle rb(Code)





Method Detail
abort
public boolean abort() throws LoginException(Code)

This method is called if the LoginContext's overall authentication failed. (the relevant REQUIRED, REQUISITE, SUFFICIENT and OPTIONAL LoginModules did not succeed).

If this LoginModule's own authentication attempt succeeded (checked by retrieving the private state saved by the login and commit methods), then this method cleans up any state that was originally saved.


exception:
  LoginException - if the abort fails. false if this LoginModule's own login and/or commit attemptsfailed, and true otherwise.




commit
public boolean commit() throws LoginException(Code)
Abstract method to commit the authentication process (phase 2).

This method is called if the LoginContext's overall authentication succeeded (the relevant REQUIRED, REQUISITE, SUFFICIENT and OPTIONAL LoginModules succeeded).

If this LoginModule's own authentication attempt succeeded (checked by retrieving the private state saved by the login method), then this method associates a UnixPrincipal with the Subject located in the LoginModule. If this LoginModule's own authentication attempted failed, then this method removes any state that was originally saved.


exception:
  LoginException - if the commit fails true if this LoginModule's own login and commitattempts succeeded, or false otherwise.




initialize
public void initialize(Subject subject, CallbackHandler callbackHandler, Map<String, ?> sharedState, Map<String, ?> options)(Code)
Initialize this LoginModule.


Parameters:
  subject - the Subject to be authenticated.


Parameters:
  callbackHandler - a CallbackHandler for communicatingwith the end user (prompting for usernames andpasswords, for example).


Parameters:
  sharedState - shared LoginModule state.


Parameters:
  options - options specified in the loginConfiguration for this particularLoginModule.




login
public boolean login() throws LoginException(Code)

Prompt for username and password. Verify the password against the relevant name service.

true always, since this LoginModuleshould not be ignored.
exception:
  FailedLoginException - if the authentication fails.


exception:
  LoginException - if this LoginModuleis unable to perform the authentication.




logout
public boolean logout() throws LoginException(Code)
Logout a user.

This method removes the Principals that were added by the commit method.


exception:
  LoginException - if the logout fails. true in all cases since this LoginModuleshould not be ignored.




Methods inherited from java.lang.Object
native protected Object clone() throws CloneNotSupportedException(Code)(Java Doc)
public boolean equals(Object obj)(Code)(Java Doc)
protected void finalize() throws Throwable(Code)(Java Doc)
final native public Class getClass()(Code)(Java Doc)
native public int hashCode()(Code)(Java Doc)
final native public void notify()(Code)(Java Doc)
final native public void notifyAll()(Code)(Java Doc)
public String toString()(Code)(Java Doc)
final native public void wait(long timeout) throws InterruptedException(Code)(Java Doc)
final public void wait(long timeout, int nanos) throws InterruptedException(Code)(Java Doc)
final public void wait() throws InterruptedException(Code)(Java Doc)

www.java2java.com | Contact Us
Copyright 2009 - 12 Demo Source and Support. All rights reserved.
All other trademarks are property of their respective owners.