<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> <!-- NewPage --> <html lang="en"> <head> <!-- Generated by javadoc (1.8.0_265) on Tue Aug 25 19:30:51 UTC 2020 --> <title>AuthFile (MetaCat API)</title> <meta name="date" content="2020-08-25"> <link rel="stylesheet" type="text/css" href="../../../../../stylesheet.css" title="Style"> <script type="text/javascript" src="../../../../../script.js"></script> </head> <body> <script type="text/javascript"><!-- try { if (location.href.indexOf('is-external=true') == -1) { parent.document.title="AuthFile (MetaCat API)"; } } catch(err) { } //--> var methods = {"i0":10,"i1":10,"i2":10,"i3":10,"i4":10,"i5":10,"i6":10,"i7":10,"i8":10,"i9":10,"i10":10,"i11":10,"i12":9,"i13":10,"i14":10,"i15":10}; var tabs = {65535:["t0","All Methods"],1:["t1","Static Methods"],2:["t2","Instance Methods"],8:["t4","Concrete Methods"]}; var altColor = "altColor"; var rowColor = "rowColor"; var tableTab = "tableTab"; var activeTableTab = "activeTableTab"; </script> <noscript> <div>JavaScript is disabled on your browser.</div> </noscript> <!-- ========= START OF TOP NAVBAR ======= --> <div class="topNav"><a name="navbar.top"> <!-- --> </a> <div class="skipNav"><a href="#skip.navbar.top" title="Skip navigation links">Skip navigation links</a></div> <a name="navbar.top.firstrow"> <!-- --> </a> <ul class="navList" title="Navigation"> <li><a href="../../../../../overview-summary.html">Overview</a></li> <li><a href="package-summary.html">Package</a></li> <li class="navBarCell1Rev">Class</li> <li><a href="class-use/AuthFile.html">Use</a></li> <li><a href="package-tree.html">Tree</a></li> <li><a href="../../../../../deprecated-list.html">Deprecated</a></li> <li><a href="../../../../../index-all.html">Index</a></li> <li><a href="../../../../../help-doc.html">Help</a></li> </ul> </div> <div class="subNav"> <ul class="navList"> <li><a href="../../../../../edu/ucsb/nceas/metacat/authentication/AuthenticationException.html" title="class in edu.ucsb.nceas.metacat.authentication"><span class="typeNameLink">Prev Class</span></a></li> <li><a href="../../../../../edu/ucsb/nceas/metacat/authentication/AuthFileBCryptHash.html" title="class in edu.ucsb.nceas.metacat.authentication"><span class="typeNameLink">Next Class</span></a></li> </ul> <ul class="navList"> <li><a href="../../../../../index.html?edu/ucsb/nceas/metacat/authentication/AuthFile.html" target="_top">Frames</a></li> <li><a href="AuthFile.html" target="_top">No Frames</a></li> </ul> <ul class="navList" id="allclasses_navbar_top"> <li><a href="../../../../../allclasses-noframe.html">All Classes</a></li> </ul> <div> <script type="text/javascript"><!-- allClassesLink = document.getElementById("allclasses_navbar_top"); if(window==top) { allClassesLink.style.display = "block"; } else { allClassesLink.style.display = "none"; } //--> </script> </div> <div> <ul class="subNavList"> <li>Summary: </li> <li>Nested | </li> <li>Field | </li> <li><a href="#constructor.summary">Constr</a> | </li> <li><a href="#method.summary">Method</a></li> </ul> <ul class="subNavList"> <li>Detail: </li> <li>Field | </li> <li><a href="#constructor.detail">Constr</a> | </li> <li><a href="#method.detail">Method</a></li> </ul> </div> <a name="skip.navbar.top"> <!-- --> </a></div> <!-- ========= END OF TOP NAVBAR ========= --> <!-- ======== START OF CLASS DATA ======== --> <div class="header"> <div class="subTitle">edu.ucsb.nceas.metacat.authentication</div> <h2 title="Class AuthFile" class="title">Class AuthFile</h2> </div> <div class="contentContainer"> <ul class="inheritance"> <li>java.lang.Object</li> <li> <ul class="inheritance"> <li>edu.ucsb.nceas.metacat.authentication.AuthFile</li> </ul> </li> </ul> <div class="description"> <ul class="blockList"> <li class="blockList"> <dl> <dt>All Implemented Interfaces:</dt> <dd><a href="../../../../../edu/ucsb/nceas/metacat/AuthInterface.html" title="interface in edu.ucsb.nceas.metacat">AuthInterface</a></dd> </dl> <hr> <br> <pre>public class <span class="typeNameLabel">AuthFile</span> extends java.lang.Object implements <a href="../../../../../edu/ucsb/nceas/metacat/AuthInterface.html" title="interface in edu.ucsb.nceas.metacat">AuthInterface</a></pre> <div class="block">This an authentication class base on a username/password file. It is an alternative authentication mechanism of the ldap authentication. The password file looks like: <?xml version="1.0" encoding="UTF-8" ?> <subjects> <users> <user dn="uid=tao,o=NCEAS,dc=ecoinformatics,dc=org"> <password>*******</password> <email>foo@foo.com</email> <surName>Smith</surName> <givenName>John</givenName> <organization>NCEAS</organization> <memberof>nceas-dev</memberof> </user> </users> <groups> <group name="nceas-dev"> <description>developers at NCEAS</description> </group> </groups> </subjects> http://commons.apache.org/proper/commons-configuration/userguide/howto_xml.html</div> <dl> <dt><span class="simpleTagLabel">Author:</span></dt> <dd>tao</dd> </dl> </li> </ul> </div> <div class="summary"> <ul class="blockList"> <li class="blockList"> <!-- =========== FIELD SUMMARY =========== --> <ul class="blockList"> <li class="blockList"><a name="field.summary"> <!-- --> </a> <h3>Field Summary</h3> <ul class="blockList"> <li class="blockList"><a name="fields.inherited.from.class.edu.ucsb.nceas.metacat.AuthInterface"> <!-- --> </a> <h3>Fields inherited from interface edu.ucsb.nceas.metacat.<a href="../../../../../edu/ucsb/nceas/metacat/AuthInterface.html" title="interface in edu.ucsb.nceas.metacat">AuthInterface</a></h3> <code><a href="../../../../../edu/ucsb/nceas/metacat/AuthInterface.html#GROUPDESINDEX">GROUPDESINDEX</a>, <a href="../../../../../edu/ucsb/nceas/metacat/AuthInterface.html#GROUPNAMEINDEX">GROUPNAMEINDEX</a>, <a href="../../../../../edu/ucsb/nceas/metacat/AuthInterface.html#USERCNINDEX">USERCNINDEX</a>, <a href="../../../../../edu/ucsb/nceas/metacat/AuthInterface.html#USERDNINDEX">USERDNINDEX</a>, <a href="../../../../../edu/ucsb/nceas/metacat/AuthInterface.html#USEREMAILINDEX">USEREMAILINDEX</a>, <a href="../../../../../edu/ucsb/nceas/metacat/AuthInterface.html#USERINFOCNINDEX">USERINFOCNINDEX</a>, <a href="../../../../../edu/ucsb/nceas/metacat/AuthInterface.html#USERINFOEMAILINDEX">USERINFOEMAILINDEX</a>, <a href="../../../../../edu/ucsb/nceas/metacat/AuthInterface.html#USERINFOORGANIDEX">USERINFOORGANIDEX</a>, <a href="../../../../../edu/ucsb/nceas/metacat/AuthInterface.html#USERORGINDEX">USERORGINDEX</a>, <a href="../../../../../edu/ucsb/nceas/metacat/AuthInterface.html#USERORGUNITINDEX">USERORGUNITINDEX</a></code></li> </ul> </li> </ul> <!-- ======== CONSTRUCTOR SUMMARY ======== --> <ul class="blockList"> <li class="blockList"><a name="constructor.summary"> <!-- --> </a> <h3>Constructor Summary</h3> <table class="memberSummary" border="0" cellpadding="3" cellspacing="0" summary="Constructor Summary table, listing constructors, and an explanation"> <caption><span>Constructors</span><span class="tabEnd"> </span></caption> <tr> <th class="colOne" scope="col">Constructor and Description</th> </tr> <tr class="altColor"> <td class="colOne"><code><span class="memberNameLink"><a href="../../../../../edu/ucsb/nceas/metacat/authentication/AuthFile.html#AuthFile--">AuthFile</a></span>()</code> <div class="block">Constructor</div> </td> </tr> <tr class="rowColor"> <td class="colOne"><code><span class="memberNameLink"><a href="../../../../../edu/ucsb/nceas/metacat/authentication/AuthFile.html#AuthFile-java.lang.String-">AuthFile</a></span>(java.lang.String passwordFile)</code> </td> </tr> </table> </li> </ul> <!-- ========== METHOD SUMMARY =========== --> <ul class="blockList"> <li class="blockList"><a name="method.summary"> <!-- --> </a> <h3>Method Summary</h3> <table class="memberSummary" border="0" cellpadding="3" cellspacing="0" summary="Method Summary table, listing methods, and an explanation"> <caption><span id="t0" class="activeTableTab"><span>All Methods</span><span class="tabEnd"> </span></span><span id="t1" class="tableTab"><span><a href="javascript:show(1);">Static Methods</a></span><span class="tabEnd"> </span></span><span id="t2" class="tableTab"><span><a href="javascript:show(2);">Instance Methods</a></span><span class="tabEnd"> </span></span><span id="t4" class="tableTab"><span><a href="javascript:show(8);">Concrete Methods</a></span><span class="tabEnd"> </span></span></caption> <tr> <th class="colFirst" scope="col">Modifier and Type</th> <th class="colLast" scope="col">Method and Description</th> </tr> <tr id="i0" class="altColor"> <td class="colFirst"><code>void</code></td> <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../edu/ucsb/nceas/metacat/authentication/AuthFile.html#addGroup-java.lang.String-java.lang.String-">addGroup</a></span>(java.lang.String groupName, java.lang.String description)</code> <div class="block">Add a group into the file</div> </td> </tr> <tr id="i1" class="rowColor"> <td class="colFirst"><code>void</code></td> <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../edu/ucsb/nceas/metacat/authentication/AuthFile.html#addUser-java.lang.String-java.lang.String:A-java.lang.String-java.lang.String-java.lang.String-java.lang.String-java.lang.String-java.lang.String-">addUser</a></span>(java.lang.String dn, java.lang.String[] groups, java.lang.String plainPass, java.lang.String hashedPass, java.lang.String email, java.lang.String surName, java.lang.String givenName, java.lang.String organization)</code> <div class="block">Add a user to the file</div> </td> </tr> <tr id="i2" class="altColor"> <td class="colFirst"><code>void</code></td> <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../edu/ucsb/nceas/metacat/authentication/AuthFile.html#addUserToGroup-java.lang.String-java.lang.String-">addUserToGroup</a></span>(java.lang.String userName, java.lang.String group)</code> <div class="block">Add a user to a group</div> </td> </tr> <tr id="i3" class="rowColor"> <td class="colFirst"><code>boolean</code></td> <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../edu/ucsb/nceas/metacat/authentication/AuthFile.html#authenticate-java.lang.String-java.lang.String-">authenticate</a></span>(java.lang.String user, java.lang.String password)</code> <div class="block">Determine if a user/password are valid according to the authentication service.</div> </td> </tr> <tr id="i4" class="altColor"> <td class="colFirst"><code>java.util.HashMap<java.lang.String,java.util.Vector<java.lang.String>></code></td> <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../edu/ucsb/nceas/metacat/authentication/AuthFile.html#getAttributes-java.lang.String-">getAttributes</a></span>(java.lang.String foruser)</code> <div class="block">Get attributes describing a user or group</div> </td> </tr> <tr id="i5" class="rowColor"> <td class="colFirst"><code>java.util.HashMap<java.lang.String,java.util.Vector<java.lang.String>></code></td> <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../edu/ucsb/nceas/metacat/authentication/AuthFile.html#getAttributes-java.lang.String-java.lang.String-java.lang.String-">getAttributes</a></span>(java.lang.String user, java.lang.String password, java.lang.String foruser)</code> <div class="block">Get attributes describing a user or group</div> </td> </tr> <tr id="i6" class="altColor"> <td class="colFirst"><code>java.lang.String[][]</code></td> <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../edu/ucsb/nceas/metacat/authentication/AuthFile.html#getGroups-java.lang.String-java.lang.String-">getGroups</a></span>(java.lang.String user, java.lang.String password)</code> <div class="block">Get all groups from the authentication service</div> </td> </tr> <tr id="i7" class="rowColor"> <td class="colFirst"><code>java.lang.String[][]</code></td> <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../edu/ucsb/nceas/metacat/authentication/AuthFile.html#getGroups-java.lang.String-java.lang.String-java.lang.String-">getGroups</a></span>(java.lang.String user, java.lang.String password, java.lang.String foruser)</code> <div class="block">Get the groups for a particular user from the authentication service</div> </td> </tr> <tr id="i8" class="altColor"> <td class="colFirst"><code>java.lang.String</code></td> <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../edu/ucsb/nceas/metacat/authentication/AuthFile.html#getPrincipals-java.lang.String-java.lang.String-">getPrincipals</a></span>(java.lang.String user, java.lang.String password)</code> <div class="block">Get all groups and users from authentication service.</div> </td> </tr> <tr id="i9" class="rowColor"> <td class="colFirst"><code>java.lang.String[]</code></td> <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../edu/ucsb/nceas/metacat/authentication/AuthFile.html#getUserInfo-java.lang.String-java.lang.String-">getUserInfo</a></span>(java.lang.String user, java.lang.String password)</code> <div class="block">Get information for a user - name, organization and email address.</div> </td> </tr> <tr id="i10" class="altColor"> <td class="colFirst"><code>java.lang.String[][]</code></td> <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../edu/ucsb/nceas/metacat/authentication/AuthFile.html#getUsers-java.lang.String-java.lang.String-">getUsers</a></span>(java.lang.String user, java.lang.String password)</code> <div class="block">Get all users from the authentication service</div> </td> </tr> <tr id="i11" class="rowColor"> <td class="colFirst"><code>java.lang.String[]</code></td> <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../edu/ucsb/nceas/metacat/authentication/AuthFile.html#getUsers-java.lang.String-java.lang.String-java.lang.String-">getUsers</a></span>(java.lang.String user, java.lang.String password, java.lang.String group)</code> <div class="block">Get the users for a particular group from the authentication service</div> </td> </tr> <tr id="i12" class="altColor"> <td class="colFirst"><code>static void</code></td> <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../edu/ucsb/nceas/metacat/authentication/AuthFile.html#main-java.lang.String:A-">main</a></span>(java.lang.String[] argus)</code> <div class="block">A method is used to help administrator to manage users and groups</div> </td> </tr> <tr id="i13" class="rowColor"> <td class="colFirst"><code>void</code></td> <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../edu/ucsb/nceas/metacat/authentication/AuthFile.html#modifyPassWithHash-java.lang.String-java.lang.String-">modifyPassWithHash</a></span>(java.lang.String userName, java.lang.String newHashPassword)</code> <div class="block">Change the password of the user to the new one which is hashed</div> </td> </tr> <tr id="i14" class="altColor"> <td class="colFirst"><code>void</code></td> <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../edu/ucsb/nceas/metacat/authentication/AuthFile.html#modifyPassWithPlain-java.lang.String-java.lang.String-">modifyPassWithPlain</a></span>(java.lang.String userName, java.lang.String newPlainPassword)</code> <div class="block">Change the password of the user to the new one which is plain.</div> </td> </tr> <tr id="i15" class="rowColor"> <td class="colFirst"><code>void</code></td> <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../edu/ucsb/nceas/metacat/authentication/AuthFile.html#removeUserFromGroup-java.lang.String-java.lang.String-">removeUserFromGroup</a></span>(java.lang.String userName, java.lang.String group)</code> <div class="block">Remove a user from a group.</div> </td> </tr> </table> <ul class="blockList"> <li class="blockList"><a name="methods.inherited.from.class.java.lang.Object"> <!-- --> </a> <h3>Methods inherited from class java.lang.Object</h3> <code>clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait</code></li> </ul> </li> </ul> </li> </ul> </div> <div class="details"> <ul class="blockList"> <li class="blockList"> <!-- ========= CONSTRUCTOR DETAIL ======== --> <ul class="blockList"> <li class="blockList"><a name="constructor.detail"> <!-- --> </a> <h3>Constructor Detail</h3> <a name="AuthFile--"> <!-- --> </a> <ul class="blockList"> <li class="blockList"> <h4>AuthFile</h4> <pre>public AuthFile() throws <a href="../../../../../edu/ucsb/nceas/metacat/authentication/AuthenticationException.html" title="class in edu.ucsb.nceas.metacat.authentication">AuthenticationException</a></pre> <div class="block">Constructor</div> <dl> <dt><span class="throwsLabel">Throws:</span></dt> <dd><code><a href="../../../../../edu/ucsb/nceas/metacat/authentication/AuthenticationException.html" title="class in edu.ucsb.nceas.metacat.authentication">AuthenticationException</a></code></dd> </dl> </li> </ul> <a name="AuthFile-java.lang.String-"> <!-- --> </a> <ul class="blockListLast"> <li class="blockList"> <h4>AuthFile</h4> <pre>public AuthFile(java.lang.String passwordFile) throws <a href="../../../../../edu/ucsb/nceas/metacat/authentication/AuthenticationException.html" title="class in edu.ucsb.nceas.metacat.authentication">AuthenticationException</a></pre> <dl> <dt><span class="paramLabel">Parameters:</span></dt> <dd><code>passwordFile</code> - </dd> <dt><span class="throwsLabel">Throws:</span></dt> <dd><code><a href="../../../../../edu/ucsb/nceas/metacat/authentication/AuthenticationException.html" title="class in edu.ucsb.nceas.metacat.authentication">AuthenticationException</a></code></dd> </dl> </li> </ul> </li> </ul> <!-- ============ METHOD DETAIL ========== --> <ul class="blockList"> <li class="blockList"><a name="method.detail"> <!-- --> </a> <h3>Method Detail</h3> <a name="authenticate-java.lang.String-java.lang.String-"> <!-- --> </a> <ul class="blockList"> <li class="blockList"> <h4>authenticate</h4> <pre>public boolean authenticate(java.lang.String user, java.lang.String password) throws <a href="../../../../../edu/ucsb/nceas/metacat/authentication/AuthenticationException.html" title="class in edu.ucsb.nceas.metacat.authentication">AuthenticationException</a></pre> <div class="block"><span class="descfrmTypeLabel">Description copied from interface: <code><a href="../../../../../edu/ucsb/nceas/metacat/AuthInterface.html#authenticate-java.lang.String-java.lang.String-">AuthInterface</a></code></span></div> <div class="block">Determine if a user/password are valid according to the authentication service.</div> <dl> <dt><span class="overrideSpecifyLabel">Specified by:</span></dt> <dd><code><a href="../../../../../edu/ucsb/nceas/metacat/AuthInterface.html#authenticate-java.lang.String-java.lang.String-">authenticate</a></code> in interface <code><a href="../../../../../edu/ucsb/nceas/metacat/AuthInterface.html" title="interface in edu.ucsb.nceas.metacat">AuthInterface</a></code></dd> <dt><span class="paramLabel">Parameters:</span></dt> <dd><code>user</code> - the name of the principal to authenticate</dd> <dd><code>password</code> - the password to use for authentication</dd> <dt><span class="throwsLabel">Throws:</span></dt> <dd><code><a href="../../../../../edu/ucsb/nceas/metacat/authentication/AuthenticationException.html" title="class in edu.ucsb.nceas.metacat.authentication">AuthenticationException</a></code></dd> </dl> </li> </ul> <a name="getUsers-java.lang.String-java.lang.String-"> <!-- --> </a> <ul class="blockList"> <li class="blockList"> <h4>getUsers</h4> <pre>public java.lang.String[][] getUsers(java.lang.String user, java.lang.String password) throws java.net.ConnectException</pre> <div class="block"><span class="descfrmTypeLabel">Description copied from interface: <code><a href="../../../../../edu/ucsb/nceas/metacat/AuthInterface.html#getUsers-java.lang.String-java.lang.String-">AuthInterface</a></code></span></div> <div class="block">Get all users from the authentication service</div> <dl> <dt><span class="overrideSpecifyLabel">Specified by:</span></dt> <dd><code><a href="../../../../../edu/ucsb/nceas/metacat/AuthInterface.html#getUsers-java.lang.String-java.lang.String-">getUsers</a></code> in interface <code><a href="../../../../../edu/ucsb/nceas/metacat/AuthInterface.html" title="interface in edu.ucsb.nceas.metacat">AuthInterface</a></code></dd> <dt><span class="throwsLabel">Throws:</span></dt> <dd><code>java.net.ConnectException</code></dd> </dl> </li> </ul> <a name="getUserInfo-java.lang.String-java.lang.String-"> <!-- --> </a> <ul class="blockList"> <li class="blockList"> <h4>getUserInfo</h4> <pre>public java.lang.String[] getUserInfo(java.lang.String user, java.lang.String password) throws java.net.ConnectException</pre> <div class="block"><span class="descfrmTypeLabel">Description copied from interface: <code><a href="../../../../../edu/ucsb/nceas/metacat/AuthInterface.html#getUserInfo-java.lang.String-java.lang.String-">AuthInterface</a></code></span></div> <div class="block">Get information for a user - name, organization and email address.</div> <dl> <dt><span class="overrideSpecifyLabel">Specified by:</span></dt> <dd><code><a href="../../../../../edu/ucsb/nceas/metacat/AuthInterface.html#getUserInfo-java.lang.String-java.lang.String-">getUserInfo</a></code> in interface <code><a href="../../../../../edu/ucsb/nceas/metacat/AuthInterface.html" title="interface in edu.ucsb.nceas.metacat">AuthInterface</a></code></dd> <dt><span class="throwsLabel">Throws:</span></dt> <dd><code>java.net.ConnectException</code></dd> </dl> </li> </ul> <a name="getUsers-java.lang.String-java.lang.String-java.lang.String-"> <!-- --> </a> <ul class="blockList"> <li class="blockList"> <h4>getUsers</h4> <pre>public java.lang.String[] getUsers(java.lang.String user, java.lang.String password, java.lang.String group) throws java.net.ConnectException</pre> <div class="block"><span class="descfrmTypeLabel">Description copied from interface: <code><a href="../../../../../edu/ucsb/nceas/metacat/AuthInterface.html#getUsers-java.lang.String-java.lang.String-java.lang.String-">AuthInterface</a></code></span></div> <div class="block">Get the users for a particular group from the authentication service</div> <dl> <dt><span class="overrideSpecifyLabel">Specified by:</span></dt> <dd><code><a href="../../../../../edu/ucsb/nceas/metacat/AuthInterface.html#getUsers-java.lang.String-java.lang.String-java.lang.String-">getUsers</a></code> in interface <code><a href="../../../../../edu/ucsb/nceas/metacat/AuthInterface.html" title="interface in edu.ucsb.nceas.metacat">AuthInterface</a></code></dd> <dt><span class="throwsLabel">Throws:</span></dt> <dd><code>java.net.ConnectException</code></dd> </dl> </li> </ul> <a name="getGroups-java.lang.String-java.lang.String-"> <!-- --> </a> <ul class="blockList"> <li class="blockList"> <h4>getGroups</h4> <pre>public java.lang.String[][] getGroups(java.lang.String user, java.lang.String password) throws java.net.ConnectException</pre> <div class="block"><span class="descfrmTypeLabel">Description copied from interface: <code><a href="../../../../../edu/ucsb/nceas/metacat/AuthInterface.html#getGroups-java.lang.String-java.lang.String-">AuthInterface</a></code></span></div> <div class="block">Get all groups from the authentication service</div> <dl> <dt><span class="overrideSpecifyLabel">Specified by:</span></dt> <dd><code><a href="../../../../../edu/ucsb/nceas/metacat/AuthInterface.html#getGroups-java.lang.String-java.lang.String-">getGroups</a></code> in interface <code><a href="../../../../../edu/ucsb/nceas/metacat/AuthInterface.html" title="interface in edu.ucsb.nceas.metacat">AuthInterface</a></code></dd> <dt><span class="throwsLabel">Throws:</span></dt> <dd><code>java.net.ConnectException</code></dd> </dl> </li> </ul> <a name="getGroups-java.lang.String-java.lang.String-java.lang.String-"> <!-- --> </a> <ul class="blockList"> <li class="blockList"> <h4>getGroups</h4> <pre>public java.lang.String[][] getGroups(java.lang.String user, java.lang.String password, java.lang.String foruser) throws java.net.ConnectException</pre> <div class="block"><span class="descfrmTypeLabel">Description copied from interface: <code><a href="../../../../../edu/ucsb/nceas/metacat/AuthInterface.html#getGroups-java.lang.String-java.lang.String-java.lang.String-">AuthInterface</a></code></span></div> <div class="block">Get the groups for a particular user from the authentication service</div> <dl> <dt><span class="overrideSpecifyLabel">Specified by:</span></dt> <dd><code><a href="../../../../../edu/ucsb/nceas/metacat/AuthInterface.html#getGroups-java.lang.String-java.lang.String-java.lang.String-">getGroups</a></code> in interface <code><a href="../../../../../edu/ucsb/nceas/metacat/AuthInterface.html" title="interface in edu.ucsb.nceas.metacat">AuthInterface</a></code></dd> <dt><span class="throwsLabel">Throws:</span></dt> <dd><code>java.net.ConnectException</code></dd> </dl> </li> </ul> <a name="getAttributes-java.lang.String-"> <!-- --> </a> <ul class="blockList"> <li class="blockList"> <h4>getAttributes</h4> <pre>public java.util.HashMap<java.lang.String,java.util.Vector<java.lang.String>> getAttributes(java.lang.String foruser) throws java.net.ConnectException</pre> <div class="block"><span class="descfrmTypeLabel">Description copied from interface: <code><a href="../../../../../edu/ucsb/nceas/metacat/AuthInterface.html#getAttributes-java.lang.String-">AuthInterface</a></code></span></div> <div class="block">Get attributes describing a user or group</div> <dl> <dt><span class="overrideSpecifyLabel">Specified by:</span></dt> <dd><code><a href="../../../../../edu/ucsb/nceas/metacat/AuthInterface.html#getAttributes-java.lang.String-">getAttributes</a></code> in interface <code><a href="../../../../../edu/ucsb/nceas/metacat/AuthInterface.html" title="interface in edu.ucsb.nceas.metacat">AuthInterface</a></code></dd> <dt><span class="throwsLabel">Throws:</span></dt> <dd><code>java.net.ConnectException</code></dd> </dl> </li> </ul> <a name="getAttributes-java.lang.String-java.lang.String-java.lang.String-"> <!-- --> </a> <ul class="blockList"> <li class="blockList"> <h4>getAttributes</h4> <pre>public java.util.HashMap<java.lang.String,java.util.Vector<java.lang.String>> getAttributes(java.lang.String user, java.lang.String password, java.lang.String foruser) throws java.net.ConnectException</pre> <div class="block"><span class="descfrmTypeLabel">Description copied from interface: <code><a href="../../../../../edu/ucsb/nceas/metacat/AuthInterface.html#getAttributes-java.lang.String-java.lang.String-java.lang.String-">AuthInterface</a></code></span></div> <div class="block">Get attributes describing a user or group</div> <dl> <dt><span class="overrideSpecifyLabel">Specified by:</span></dt> <dd><code><a href="../../../../../edu/ucsb/nceas/metacat/AuthInterface.html#getAttributes-java.lang.String-java.lang.String-java.lang.String-">getAttributes</a></code> in interface <code><a href="../../../../../edu/ucsb/nceas/metacat/AuthInterface.html" title="interface in edu.ucsb.nceas.metacat">AuthInterface</a></code></dd> <dt><span class="paramLabel">Parameters:</span></dt> <dd><code>user</code> - the user for which the attribute list is requested</dd> <dd><code>password</code> - the password for authenticating against the service</dd> <dt><span class="throwsLabel">Throws:</span></dt> <dd><code>java.net.ConnectException</code></dd> </dl> </li> </ul> <a name="getPrincipals-java.lang.String-java.lang.String-"> <!-- --> </a> <ul class="blockList"> <li class="blockList"> <h4>getPrincipals</h4> <pre>public java.lang.String getPrincipals(java.lang.String user, java.lang.String password) throws java.net.ConnectException</pre> <div class="block"><span class="descfrmTypeLabel">Description copied from interface: <code><a href="../../../../../edu/ucsb/nceas/metacat/AuthInterface.html#getPrincipals-java.lang.String-java.lang.String-">AuthInterface</a></code></span></div> <div class="block">Get all groups and users from authentication service. The output is formatted in XML.</div> <dl> <dt><span class="overrideSpecifyLabel">Specified by:</span></dt> <dd><code><a href="../../../../../edu/ucsb/nceas/metacat/AuthInterface.html#getPrincipals-java.lang.String-java.lang.String-">getPrincipals</a></code> in interface <code><a href="../../../../../edu/ucsb/nceas/metacat/AuthInterface.html" title="interface in edu.ucsb.nceas.metacat">AuthInterface</a></code></dd> <dt><span class="paramLabel">Parameters:</span></dt> <dd><code>user</code> - the user which requests the information</dd> <dd><code>password</code> - the user's password</dd> <dt><span class="throwsLabel">Throws:</span></dt> <dd><code>java.net.ConnectException</code></dd> </dl> </li> </ul> <a name="addUser-java.lang.String-java.lang.String:A-java.lang.String-java.lang.String-java.lang.String-java.lang.String-java.lang.String-java.lang.String-"> <!-- --> </a> <ul class="blockList"> <li class="blockList"> <h4>addUser</h4> <pre>public void addUser(java.lang.String dn, java.lang.String[] groups, java.lang.String plainPass, java.lang.String hashedPass, java.lang.String email, java.lang.String surName, java.lang.String givenName, java.lang.String organization) throws <a href="../../../../../edu/ucsb/nceas/metacat/authentication/AuthenticationException.html" title="class in edu.ucsb.nceas.metacat.authentication">AuthenticationException</a></pre> <div class="block">Add a user to the file</div> <dl> <dt><span class="paramLabel">Parameters:</span></dt> <dd><code>userName</code> - the name of the user</dd> <dd><code>groups</code> - the groups the user belong to. The group should exist in the file</dd> <dd><code>password</code> - the password of the user</dd> <dt><span class="throwsLabel">Throws:</span></dt> <dd><code><a href="../../../../../edu/ucsb/nceas/metacat/authentication/AuthenticationException.html" title="class in edu.ucsb.nceas.metacat.authentication">AuthenticationException</a></code></dd> </dl> </li> </ul> <a name="addGroup-java.lang.String-java.lang.String-"> <!-- --> </a> <ul class="blockList"> <li class="blockList"> <h4>addGroup</h4> <pre>public void addGroup(java.lang.String groupName, java.lang.String description) throws <a href="../../../../../edu/ucsb/nceas/metacat/authentication/AuthenticationException.html" title="class in edu.ucsb.nceas.metacat.authentication">AuthenticationException</a></pre> <div class="block">Add a group into the file</div> <dl> <dt><span class="paramLabel">Parameters:</span></dt> <dd><code>groupName</code> - the name of group</dd> <dt><span class="throwsLabel">Throws:</span></dt> <dd><code><a href="../../../../../edu/ucsb/nceas/metacat/authentication/AuthenticationException.html" title="class in edu.ucsb.nceas.metacat.authentication">AuthenticationException</a></code></dd> </dl> </li> </ul> <a name="modifyPassWithHash-java.lang.String-java.lang.String-"> <!-- --> </a> <ul class="blockList"> <li class="blockList"> <h4>modifyPassWithHash</h4> <pre>public void modifyPassWithHash(java.lang.String userName, java.lang.String newHashPassword) throws <a href="../../../../../edu/ucsb/nceas/metacat/authentication/AuthenticationException.html" title="class in edu.ucsb.nceas.metacat.authentication">AuthenticationException</a></pre> <div class="block">Change the password of the user to the new one which is hashed</div> <dl> <dt><span class="paramLabel">Parameters:</span></dt> <dd><code>usrName</code> - the specified user.</dd> <dd><code>newPassword</code> - the new password which will be set</dd> <dt><span class="throwsLabel">Throws:</span></dt> <dd><code><a href="../../../../../edu/ucsb/nceas/metacat/authentication/AuthenticationException.html" title="class in edu.ucsb.nceas.metacat.authentication">AuthenticationException</a></code></dd> </dl> </li> </ul> <a name="modifyPassWithPlain-java.lang.String-java.lang.String-"> <!-- --> </a> <ul class="blockList"> <li class="blockList"> <h4>modifyPassWithPlain</h4> <pre>public void modifyPassWithPlain(java.lang.String userName, java.lang.String newPlainPassword) throws <a href="../../../../../edu/ucsb/nceas/metacat/authentication/AuthenticationException.html" title="class in edu.ucsb.nceas.metacat.authentication">AuthenticationException</a></pre> <div class="block">Change the password of the user to the new one which is plain. However, only the hashed version will be serialized.</div> <dl> <dt><span class="paramLabel">Parameters:</span></dt> <dd><code>usrName</code> - the specified user.</dd> <dd><code>newPassword</code> - the new password which will be set</dd> <dt><span class="throwsLabel">Throws:</span></dt> <dd><code><a href="../../../../../edu/ucsb/nceas/metacat/authentication/AuthenticationException.html" title="class in edu.ucsb.nceas.metacat.authentication">AuthenticationException</a></code></dd> </dl> </li> </ul> <a name="addUserToGroup-java.lang.String-java.lang.String-"> <!-- --> </a> <ul class="blockList"> <li class="blockList"> <h4>addUserToGroup</h4> <pre>public void addUserToGroup(java.lang.String userName, java.lang.String group) throws <a href="../../../../../edu/ucsb/nceas/metacat/authentication/AuthenticationException.html" title="class in edu.ucsb.nceas.metacat.authentication">AuthenticationException</a></pre> <div class="block">Add a user to a group</div> <dl> <dt><span class="paramLabel">Parameters:</span></dt> <dd><code>userName</code> - the name of the user. the user should already exist</dd> <dd><code>group</code> - the name of the group. the group should already exist</dd> <dt><span class="throwsLabel">Throws:</span></dt> <dd><code><a href="../../../../../edu/ucsb/nceas/metacat/authentication/AuthenticationException.html" title="class in edu.ucsb.nceas.metacat.authentication">AuthenticationException</a></code></dd> </dl> </li> </ul> <a name="removeUserFromGroup-java.lang.String-java.lang.String-"> <!-- --> </a> <ul class="blockList"> <li class="blockList"> <h4>removeUserFromGroup</h4> <pre>public void removeUserFromGroup(java.lang.String userName, java.lang.String group) throws <a href="../../../../../edu/ucsb/nceas/metacat/authentication/AuthenticationException.html" title="class in edu.ucsb.nceas.metacat.authentication">AuthenticationException</a></pre> <div class="block">Remove a user from a group.</div> <dl> <dt><span class="paramLabel">Parameters:</span></dt> <dd><code>userName</code> - the name of the user. the user should already exist.</dd> <dd><code>group</code> - the name of the group</dd> <dt><span class="throwsLabel">Throws:</span></dt> <dd><code><a href="../../../../../edu/ucsb/nceas/metacat/authentication/AuthenticationException.html" title="class in edu.ucsb.nceas.metacat.authentication">AuthenticationException</a></code></dd> </dl> </li> </ul> <a name="main-java.lang.String:A-"> <!-- --> </a> <ul class="blockListLast"> <li class="blockList"> <h4>main</h4> <pre>public static void main(java.lang.String[] argus) throws java.lang.Exception</pre> <div class="block">A method is used to help administrator to manage users and groups</div> <dl> <dt><span class="paramLabel">Parameters:</span></dt> <dd><code>argus</code> - </dd> <dt><span class="throwsLabel">Throws:</span></dt> <dd><code>java.lang.Exception</code></dd> </dl> </li> </ul> </li> </ul> </li> </ul> </div> </div> <!-- ========= END OF CLASS DATA ========= --> <!-- ======= START OF BOTTOM NAVBAR ====== --> <div class="bottomNav"><a name="navbar.bottom"> <!-- --> </a> <div class="skipNav"><a href="#skip.navbar.bottom" title="Skip navigation links">Skip navigation links</a></div> <a name="navbar.bottom.firstrow"> <!-- --> </a> <ul class="navList" title="Navigation"> <li><a href="../../../../../overview-summary.html">Overview</a></li> <li><a href="package-summary.html">Package</a></li> <li class="navBarCell1Rev">Class</li> <li><a href="class-use/AuthFile.html">Use</a></li> <li><a href="package-tree.html">Tree</a></li> <li><a href="../../../../../deprecated-list.html">Deprecated</a></li> <li><a href="../../../../../index-all.html">Index</a></li> <li><a href="../../../../../help-doc.html">Help</a></li> </ul> </div> <div class="subNav"> <ul class="navList"> <li><a href="../../../../../edu/ucsb/nceas/metacat/authentication/AuthenticationException.html" title="class in edu.ucsb.nceas.metacat.authentication"><span class="typeNameLink">Prev Class</span></a></li> <li><a href="../../../../../edu/ucsb/nceas/metacat/authentication/AuthFileBCryptHash.html" title="class in edu.ucsb.nceas.metacat.authentication"><span class="typeNameLink">Next Class</span></a></li> </ul> <ul class="navList"> <li><a href="../../../../../index.html?edu/ucsb/nceas/metacat/authentication/AuthFile.html" target="_top">Frames</a></li> <li><a href="AuthFile.html" target="_top">No Frames</a></li> </ul> <ul class="navList" id="allclasses_navbar_bottom"> <li><a href="../../../../../allclasses-noframe.html">All Classes</a></li> </ul> <div> <script type="text/javascript"><!-- allClassesLink = document.getElementById("allclasses_navbar_bottom"); if(window==top) { allClassesLink.style.display = "block"; } else { allClassesLink.style.display = "none"; } //--> </script> </div> <div> <ul class="subNavList"> <li>Summary: </li> <li>Nested | </li> <li>Field | </li> <li><a href="#constructor.summary">Constr</a> | </li> <li><a href="#method.summary">Method</a></li> </ul> <ul class="subNavList"> <li>Detail: </li> <li>Field | </li> <li><a href="#constructor.detail">Constr</a> | </li> <li><a href="#method.detail">Method</a></li> </ul> </div> <a name="skip.navbar.bottom"> <!-- --> </a></div> <!-- ======== END OF BOTTOM NAVBAR ======= --> <p class="legalCopy"><small><i>Copyright © 2020 Regents of the University of California. All Rights Reserved.</i></small></p> </body> </html>