6. Auth Plug-in Sample Code
Here is a sample code that explains how to implement init and lookup method.
package com.domain.proxy.plugins ; import com.brekeke.common.* ; import com.brekeke.net.usrdir.* ; public class SampleUserDir implements UserDir { Envrnmt env = null ; Logging log = null ; LogLevel loglevel = null ; // init public void init( Envrnmt env, Logging log ) throws Exception { this.env = env ; this.log = log ; // Log level setting // It is obtained from the variable “net.userdir.loglevel.console” loglevel = new LogLevel( 0, env.getInt( "net.userdir.loglevel.file", LogLevel.LOG_LEVEL_EXCEPTION ) ) ; log.println( "SampleUserDir: start", loglevel, LogLevel.LOG_LEVEL_SYSTEM ) ; // // Initialization of database connection, etc. // } // lookup public UserRecord lookup( String username, String method, String destination, String authinfo ) throws Exception { // // database inquiry for a user information by username key. // if ( the user info not found ) { return ( null ) ; } if ( the user doesn’t have the authority to execute the method ) { return ( null ) ; } if ( the user doesn’t have the authority to access the destination SIP-URI ) { return ( null ) ; } UserRecord record = new UserRecord() ; record.username = username ; record.password = the plain password obtained from the database return ( record ) ; } }