Files

166 lines
13 KiB
XML
Raw Permalink Normal View History

<UserControl xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
Background="{StaticResource BgDarkBrush}">
<Grid Margin="24">
<Grid.RowDefinitions>
<RowDefinition Height="Auto" />
<RowDefinition Height="*" />
<RowDefinition Height="Auto" />
</Grid.RowDefinitions>
<!-- Header -->
<StackPanel Grid.Row="0" Margin="0,0,0,20">
<TextBlock Text="환경설정 및 실제 인프라 연결 구성" FontSize="24" FontWeight="Bold" Foreground="{StaticResource TextPrimaryBrush}" />
<TextBlock Text="Active Directory, NetApp ONTAP 스토리지 및 MS SQL 데이터베이스 접속 엔드포인트를 구성하고 실시간 테스트합니다."
FontSize="13" Foreground="{StaticResource TextSecondaryBrush}" Margin="0,4,0,0" />
</StackPanel>
<!-- Settings Cards Scroll Area -->
<ScrollViewer Grid.Row="1" VerticalScrollBarVisibility="Auto">
<StackPanel>
<!-- Group 1: Global Operating Mode -->
<Border Style="{StaticResource ModernCardStyle}" Margin="0,0,0,16">
<Grid>
<Grid.ColumnDefinitions>
<ColumnDefinition Width="*" />
<ColumnDefinition Width="Auto" />
</Grid.ColumnDefinitions>
<StackPanel Grid.Column="0">
<TextBlock Text="전역 동작 모드 (Global Operation Mode)" FontSize="16" FontWeight="Bold" Foreground="{StaticResource TextPrimaryBrush}" />
<TextBlock Text="실제 인프라 장비 및 서버와 통신할지, 또는 데모/시뮬레이션 모드로 작동할지 선택합니다."
FontSize="12" Foreground="{StaticResource TextSecondaryBrush}" Margin="0,4,0,0" />
</StackPanel>
<CheckBox x:Name="ChkGlobalLiveMode" Grid.Column="1" Content="실제 연결 모드 활성화 (Live Production Mode)"
Foreground="{StaticResource PrimaryAccentHoverBrush}" FontWeight="Bold" VerticalAlignment="Center" FontSize="13" />
</Grid>
</Border>
<!-- Group 2: Active Directory Configuration -->
<Border Style="{StaticResource ModernCardStyle}" Margin="0,0,0,16">
<StackPanel>
<DockPanel Margin="0,0,0,12">
<TextBlock Text="Active Directory (AD DS) 연결" FontSize="16" FontWeight="Bold" Foreground="{StaticResource TextPrimaryBrush}" />
<CheckBox x:Name="ChkAdLive" Content="AD 실제 연결 사용" Foreground="{StaticResource TextPrimaryBrush}" HorizontalAlignment="Right" VerticalAlignment="Center" />
</DockPanel>
<Grid>
<Grid.ColumnDefinitions>
<ColumnDefinition Width="*" />
<ColumnDefinition Width="*" />
</Grid.ColumnDefinitions>
<StackPanel Grid.Column="0" Margin="0,0,12,0">
<TextBlock Text="도메인 컨트롤러 (DC FQDN / IP):" Foreground="{StaticResource TextSecondaryBrush}" Margin="0,0,0,4" FontSize="12" />
<TextBox x:Name="TxtAdDc" Text="dc01.corp.local" Style="{StaticResource ModernTextBoxStyle}" Margin="0,0,0,12" />
<TextBlock Text="검색 기본 루트 OU (DN):" Foreground="{StaticResource TextSecondaryBrush}" Margin="0,0,0,4" FontSize="12" />
<TextBox x:Name="TxtAdBaseOu" Text="DC=corp,DC=local" Style="{StaticResource ModernTextBoxStyle}" Margin="0,0,0,12" />
<CheckBox x:Name="ChkAdLdaps" Content="보안 LDAPS 암호화 연결 (Port 636) 사용" Foreground="{StaticResource TextPrimaryBrush}" Margin="0,4,0,0" />
</StackPanel>
<StackPanel Grid.Column="1" Margin="12,0,0,0">
<TextBlock Text="관리자 계정 (비워둘 시 현재 Windows 로그인 토큰 사용):" Foreground="{StaticResource TextSecondaryBrush}" Margin="0,0,0,4" FontSize="12" />
<TextBox x:Name="TxtAdUser" Style="{StaticResource ModernTextBoxStyle}" Margin="0,0,0,12" />
<TextBlock Text="관리자 암호:" Foreground="{StaticResource TextSecondaryBrush}" Margin="0,0,0,4" FontSize="12" />
<PasswordBox x:Name="TxtAdPassword" Background="#0F172A" Foreground="{StaticResource TextPrimaryBrush}" BorderBrush="{StaticResource CardBorderBrush}" Height="34" Margin="0,0,0,12" />
<Button x:Name="BtnTestAd" Content="AD 연결 테스트" Style="{StaticResource SecondaryButtonStyle}" HorizontalAlignment="Right" Padding="14,6" />
</StackPanel>
</Grid>
</StackPanel>
</Border>
<!-- Group 3: NetApp ONTAP Storage Configuration -->
<Border Style="{StaticResource ModernCardStyle}" Margin="0,0,0,16">
<StackPanel>
<DockPanel Margin="0,0,0,12">
<TextBlock Text="NetApp ONTAP 스토리지 (REST API) 연결" FontSize="16" FontWeight="Bold" Foreground="{StaticResource TextPrimaryBrush}" />
<CheckBox x:Name="ChkNetAppLive" Content="NetApp 실제 연결 사용" Foreground="{StaticResource TextPrimaryBrush}" HorizontalAlignment="Right" VerticalAlignment="Center" />
</DockPanel>
<Grid>
<Grid.ColumnDefinitions>
<ColumnDefinition Width="*" />
<ColumnDefinition Width="*" />
</Grid.ColumnDefinitions>
<StackPanel Grid.Column="0" Margin="0,0,12,0">
<TextBlock Text="클러스터 관리 LIF (HTTPS 엔드포인트 URL):" Foreground="{StaticResource TextSecondaryBrush}" Margin="0,0,0,4" FontSize="12" />
<TextBox x:Name="TxtNetAppEndpoint" Text="https://10.200.10.50" Style="{StaticResource ModernTextBoxStyle}" Margin="0,0,0,12" />
<TextBlock Text="기본 대상 SVM (Vserver):" Foreground="{StaticResource TextSecondaryBrush}" Margin="0,0,0,4" FontSize="12" />
<TextBox x:Name="TxtNetAppDefaultSvm" Text="svm_cifs_prod01" Style="{StaticResource ModernTextBoxStyle}" Margin="0,0,0,12" />
<CheckBox x:Name="ChkNetAppIgnoreSsl" Content="자체 서명(Self-signed) SSL 인증서 신뢰" IsChecked="True" Foreground="{StaticResource TextPrimaryBrush}" Margin="0,4,0,0" />
</StackPanel>
<StackPanel Grid.Column="1" Margin="12,0,0,0">
<TextBlock Text="스토리지 관리자 ID (vsadmin / admin):" Foreground="{StaticResource TextSecondaryBrush}" Margin="0,0,0,4" FontSize="12" />
<TextBox x:Name="TxtNetAppUser" Text="admin" Style="{StaticResource ModernTextBoxStyle}" Margin="0,0,0,12" />
<TextBlock Text="스토리지 관리자 암호:" Foreground="{StaticResource TextSecondaryBrush}" Margin="0,0,0,4" FontSize="12" />
<PasswordBox x:Name="TxtNetAppPassword" Background="#0F172A" Foreground="{StaticResource TextPrimaryBrush}" BorderBrush="{StaticResource CardBorderBrush}" Height="34" Margin="0,0,0,12" />
<Button x:Name="BtnTestNetApp" Content="NetApp ONTAP 연결 테스트" Style="{StaticResource SecondaryButtonStyle}" HorizontalAlignment="Right" Padding="14,6" />
</StackPanel>
</Grid>
</StackPanel>
</Border>
<!-- Group 4: MS SQL Server Configuration -->
<Border Style="{StaticResource ModernCardStyle}" Margin="0,0,0,16">
<StackPanel>
<DockPanel Margin="0,0,0,12">
<TextBlock Text="MS SQL Server 연결 기본값" FontSize="16" FontWeight="Bold" Foreground="{StaticResource TextPrimaryBrush}" />
<CheckBox x:Name="ChkSqlLive" Content="MS SQL 실제 연결 사용" Foreground="{StaticResource TextPrimaryBrush}" HorizontalAlignment="Right" VerticalAlignment="Center" />
</DockPanel>
<Grid>
<Grid.ColumnDefinitions>
<ColumnDefinition Width="*" />
<ColumnDefinition Width="*" />
</Grid.ColumnDefinitions>
<StackPanel Grid.Column="0" Margin="0,0,12,0">
<TextBlock Text="SQL 인스턴스 주소 (예: localhost 또는 SRV\INSTANCE):" Foreground="{StaticResource TextSecondaryBrush}" Margin="0,0,0,4" FontSize="12" />
<TextBox x:Name="TxtSqlServer" Text="localhost" Style="{StaticResource ModernTextBoxStyle}" Margin="0,0,0,12" />
<TextBlock Text="인증 방식:" Foreground="{StaticResource TextSecondaryBrush}" Margin="0,0,0,4" FontSize="12" />
<ComboBox x:Name="CmbSqlAuthType" SelectedIndex="0" Height="32" Background="#0F172A" Foreground="{StaticResource TextPrimaryBrush}" Margin="0,0,0,6">
<ComboBoxItem Content="Windows 통합 인증 (현재 Windows 세션 토큰)" />
<ComboBoxItem Content="AD 도메인 계정 위장 Windows 인증 (LogonUser /netonly)" />
<ComboBoxItem Content="SQL Server 자체 계정 인증 (User ID / Password)" />
</ComboBox>
<TextBlock x:Name="TxtSqlAuthHint" Text="현재 윈도우에 로그인된 사용자 자격증명으로 SQL Server에 접속합니다." FontSize="11" Foreground="#60A5FA" Margin="0,0,0,12" TextWrapping="Wrap" />
<TextBlock Text="백업 파일 기본 저장 디렉토리:" Foreground="{StaticResource TextSecondaryBrush}" Margin="0,0,0,4" FontSize="12" />
<TextBox x:Name="TxtSqlBackupDir" Text="C:\Backups" Style="{StaticResource ModernTextBoxStyle}" />
</StackPanel>
<StackPanel Grid.Column="1" Margin="12,0,0,0">
<TextBlock x:Name="LblSqlDomain" Text="AD 도메인 (AD 위장 인증 시):" Foreground="{StaticResource TextSecondaryBrush}" Margin="0,0,0,4" FontSize="12" />
<TextBox x:Name="TxtSqlDomain" Text="corp" Style="{StaticResource ModernTextBoxStyle}" Margin="0,0,0,12" />
<TextBlock x:Name="LblSqlUser" Text="로그인 계정 (AD 사용자명 또는 SQL 계정):" Foreground="{StaticResource TextSecondaryBrush}" Margin="0,0,0,4" FontSize="12" />
<TextBox x:Name="TxtSqlUser" Text="sa" Style="{StaticResource ModernTextBoxStyle}" Margin="0,0,0,12" />
<TextBlock x:Name="LblSqlPassword" Text="비밀번호:" Foreground="{StaticResource TextSecondaryBrush}" Margin="0,0,0,4" FontSize="12" />
<PasswordBox x:Name="TxtSqlPassword" Background="#0F172A" Foreground="{StaticResource TextPrimaryBrush}" BorderBrush="{StaticResource CardBorderBrush}" Height="34" Margin="0,0,0,12" />
<Button x:Name="BtnTestSql" Content="SQL Server 연결 테스트" Style="{StaticResource SecondaryButtonStyle}" HorizontalAlignment="Right" Padding="14,6" />
</StackPanel>
</Grid>
</StackPanel>
</Border>
</StackPanel>
</ScrollViewer>
<!-- Bottom Action Bar -->
<Border Grid.Row="2" Margin="0,16,0,0">
<DockPanel>
<Button x:Name="BtnTestAllConnections" Content="&#xE958; 전체 인프라 연결 상태 일괄 진단" Style="{StaticResource SecondaryButtonStyle}" HorizontalAlignment="Left" />
<StackPanel Orientation="Horizontal" HorizontalAlignment="Right">
<Button x:Name="BtnReloadConfig" Content="설정 다시 로드" Style="{StaticResource SecondaryButtonStyle}" Margin="0,0,8,0" />
<Button x:Name="BtnSaveSettings" Content="설정 저장 및 적용" Style="{StaticResource PrimaryButtonStyle}" />
</StackPanel>
</DockPanel>
</Border>
</Grid>
</UserControl>