#
# Install J2C Auth ID.
#
####################################################################
# Patrick Finnegan 23/05/2005. V1.
####################################################################
####################################################################
# Create Security Object for database connection.
####################################################################
proc createSecurityObj {j2cAlias userid password description} {
puts "\nCreate Security Object\n"
global AdminConfig
puts "\nList installed JAASAuthData authentication entries\n"
set JAASentries [ $AdminConfig list JAASAuthData ]
foreach e $JAASentries {
set subList [ $AdminConfig show $e ]
foreach e $subList {
puts [ format "%-5s %-30s %-20s" " " [ lindex $e 0 ] [ lindex $e 1 ] ]
}
puts "\n"
}
puts "\nRemove Possible Duplicate Entries\n"
set i 0
while { $i < [llength $JAASentries] } {
puts " index is [ lindex [ $AdminConfig show [lindex $JAASentries $i ] ] 0 ]"
catch { lsearch [ lindex [ $AdminConfig show [lindex $JAASentries $i ] ] 0 ] $j2cAlias } r
if { $r == -1 } {
puts "\n no match for $j2cAlias\n"
} else {
puts "\n **** Delete $j2cAlias **** \n"
catch { $AdminConfig remove [ lindex $JAASentries $i ] } r
puts $r
}
incr i
}
# set attributes for userid
set alias [list alias $j2cAlias ]
set description [list description $description ]
set userid [list userId $userid ]
set password [list password $password ]
set jaasAttrs [list $alias $description $userid $password]
# create JAASAuthData object under security parent
$AdminConfig create JAASAuthData [$AdminConfig list Security] $jaasAttrs
puts "\nList installed JAASAuthData authentication entries - confirm change \n"
foreach e [ $AdminConfig list JAASAuthData ] {
set subList [ $AdminConfig show $e ]
foreach e $subList {
puts [ format "%-5s %-30s %-20s" " " [ lindex $e 0 ] [ lindex $e 1 ] ]
}
puts "\n"
}
}
####################################################################
# Main Control.
####################################################################
puts "\n argc = $argc \n"
if {$argc < 4 } {
return -code error "error - not enough arguments supplied. Supply j2cAlias description userid password"
}
puts "\n Check"
set j2cAlias [lindex $argv 0 ]
set j2cDesc [lindex $argv 1 ]
set userid [lindex $argv 2 ]
set password [lindex $argv 3 ]
set cellId [ lindex [ $AdminConfig list Cell ] 0 ]
set nodes [ $AdminConfig list Node ]
# delete the manager node from the list.
set manIndex [ lsearch -glob $nodes *Manager* ]
set nodeId [ lindex [ lreplace $nodes $manIndex $manIndex ] 0 ]
# delete the manager node from the list.
set cellName [ $AdminConfig showAttribute $cellId name ]
set nodeName [ $AdminConfig showAttribute $nodeId name ]
puts "\n Cell Name: $cellName"
puts "\n Node Name: $nodeName \n"
puts " j2cAlias = $j2cAlias "
puts " j2cDesc = $j2cDesc "
puts " userid = $userid "
puts " password = $password "
####################################################################
# Create DB connection Id.
# Must exist before assignment to datasource.
####################################################################
createSecurityObj $j2cAlias $userid $password $j2cDesc
####################################################################
# Save Admin config.
####################################################################
$AdminConfig save
puts [ format "\n %-30s %-30s" " " "*** THE END ***\n" ]