Class: Ucert::WmsTracker
- Inherits:
-
Object
- Object
- Ucert::WmsTracker
- Includes:
- Utils
- Defined in:
- lib/ucert/wms_tracker.rb
Overview
Class to handle Wms user account IDs
Instance Attribute Summary collapse
-
#file_user_map ⇒ Object
Class constant variables.
-
#verbose ⇒ Object
Class constant variables.
-
#wms_2_ad_user ⇒ Object
readonly
Returns the value of attribute wms_2_ad_user.
-
#wms_role_entitlement ⇒ Object
readonly
Returns the value of attribute wms_role_entitlement.
-
#wms_role_report ⇒ Object
Class constant variables.
-
#wms_user_entitlement ⇒ Object
readonly
Returns the value of attribute wms_user_entitlement.
-
#wms_user_report ⇒ Object
Class constant variables.
Instance Method Summary collapse
-
#initialize(params = {}) ⇒ WmsTracker
constructor
Instance default variables.
-
#print_role_entitlement ⇒ Object
(also: #print_role)
Print out the role entitlement table in plain text, to be imported into database.
-
#print_user_entitlement ⇒ Object
(also: #print_user)
Print out the user entitlement table in plain text, to be imported into database.
-
#save_wms_user_map!(file = @file_user_map) ⇒ Object
(also: #save!)
Save the WMS to AD user mapping relation into the cache file.
-
#wms_search_by_dn(dn) ⇒ Object
(also: #search_by_dn)
Search user entitlement record by AD DN.
Methods included from Utils
#file_2_list, #is_fqdn?, #is_ip?, #is_url?, #list_2_file, #load_known_user_map_from_file, #nslookup, #search_ad, #update_dn
Constructor Details
#initialize(params = {}) ⇒ WmsTracker
Instance default variables
18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 |
# File 'lib/ucert/wms_tracker.rb', line 18 def initialize (params ={}) @verbose=params.fetch(:verbose, false) # Wms user entitlement report in CSV format, generated by Ryan Li's user table exportation script @wms_user_report = File.dirname(__FILE__)+"/../../data/wms/user_rpt.txt" # Wms user entitlement report in CSV format, generated by Ryan Li's user table exportation script @wms_role_report = File.dirname(__FILE__)+"/../../data/wms/role_rpt.txt" # WMS to AD user map file @file_user_map = File.dirname(__FILE__)+"/../../data/wms/wms_user_map.txt" # Load the user map file to an instance variable (for performance gain) @wms_2_ad_user=load_known_user_map_from_file(@file_user_map) # Load the user entitlement instance variable from the native Wms user entitlement report @wms_user_entitlement=parse_wms_user_report(@wms_user_report) # Insert DN field into the user entitlement data structure insert_dn # Load the role entitlement instance variable from the native Wms role entitlement reportk=Uc @wms_role_entitlement=parse_wms_role_report(@wms_role_report) save! end |
Instance Attribute Details
#file_user_map ⇒ Object
Class constant variables
14 15 16 |
# File 'lib/ucert/wms_tracker.rb', line 14 def file_user_map @file_user_map end |
#verbose ⇒ Object
Class constant variables
14 15 16 |
# File 'lib/ucert/wms_tracker.rb', line 14 def verbose @verbose end |
#wms_2_ad_user ⇒ Object (readonly)
Returns the value of attribute wms_2_ad_user.
15 16 17 |
# File 'lib/ucert/wms_tracker.rb', line 15 def wms_2_ad_user @wms_2_ad_user end |
#wms_role_entitlement ⇒ Object (readonly)
Returns the value of attribute wms_role_entitlement.
15 16 17 |
# File 'lib/ucert/wms_tracker.rb', line 15 def wms_role_entitlement @wms_role_entitlement end |
#wms_role_report ⇒ Object
Class constant variables
14 15 16 |
# File 'lib/ucert/wms_tracker.rb', line 14 def wms_role_report @wms_role_report end |
#wms_user_entitlement ⇒ Object (readonly)
Returns the value of attribute wms_user_entitlement.
15 16 17 |
# File 'lib/ucert/wms_tracker.rb', line 15 def wms_user_entitlement @wms_user_entitlement end |
#wms_user_report ⇒ Object
Class constant variables
14 15 16 |
# File 'lib/ucert/wms_tracker.rb', line 14 def wms_user_report @wms_user_report end |
Instance Method Details
#print_role_entitlement ⇒ Object Also known as: print_role
Print out the role entitlement table in plain text, to be imported into database
190 191 192 193 194 195 196 197 198 199 200 201 |
# File 'lib/ucert/wms_tracker.rb', line 190 def print_role_entitlement begin puts "Role Entitlement Report in Plain-text Format" if @verbose puts "ROLEID | ROLENAME | PRIVILEGE" if @verbose @wms_role_entitlement.each do |key, record| puts "#{key}|#{record['ROLENAME']}|#{record['PRV']}" # "\t#{record['VERSION']}\t#{record['FUNCTION']}" end rescue => ee puts "Exception on method #{__method__}: #{ee}" end end |
#print_user_entitlement ⇒ Object Also known as: print_user
Print out the user entitlement table in plain text, to be imported into database
174 175 176 177 178 179 180 181 182 183 184 185 186 |
# File 'lib/ucert/wms_tracker.rb', line 174 def print_user_entitlement begin puts "user Entitlement Report in Plain-text Format" if @verbose @wms_user_entitlement.first[1].each {|k,v| print k,"|"} if @verbose puts if @verbose @wms_user_entitlement.values.map do |rec| rec.each {|k,v| print v,"|"} puts end rescue => ee puts "Exception on method #{__method__}: #{ee}" end end |
#save_wms_user_map!(file = @file_user_map) ⇒ Object Also known as: save!
Save the WMS to AD user mapping relation into the cache file
205 206 207 208 209 210 211 212 213 214 215 216 217 218 219 220 221 |
# File 'lib/ucert/wms_tracker.rb', line 205 def save_wms_user_map!(file=@file_user_map) puts "Saving the known Wms to AD user mapping relationship to file: #{file} ..." if @verbose begin =Time.now f=File.open(file, 'w') f.write "# local Wms to AD user map file created by the #{self.class} class #{__method__} method at: #{}" @wms_user_entitlement.values.map do |record| key = record['USERNAME'].upcase + ':' + record['USERID'].upcase value = record['DN'] f.write "\n#{key}|#{value}" end f.close puts "WMS to AD user map file is successfully saved to: #{file}" if @verbose rescue => ee puts "Exception on method #{__method__}: #{ee}" if @verbose end end |
#wms_search_by_dn(dn) ⇒ Object Also known as: search_by_dn
Search user entitlement record by AD DN
225 226 227 228 229 230 231 232 233 234 235 |
# File 'lib/ucert/wms_tracker.rb', line 225 def wms_search_by_dn (dn) begin puts "Perform search on the user entitlement record by AD DN: #{dn}" if @verbose @wms_user_entitlement.each do |key, val| return val if @wms_user_entitlement[key]['DN'].eql? dn end return nil rescue => ee puts "Exception on method #{__method__}: #{ee}" end end |