<% ' ' ' %> <% main() Sub main() 'サイバートレード連携のための強制処理 'クエリ文字列セッションによるパッケージモード強制切替 '(データベース名が接頭辞になっている) Session(DBName & "CT21toCA21") = "" If Request("mode") = "CT21toCA21" Then Session(DBName & "CT21toCA21") = "1" Session(DBName & "PackageModeQuery") = "CyberAccount21" Session(DBName & "PackageMode") = 1 PackageMode = 1 End If 'サイバートレード連携のための強制処理 'FESアクセスログデータベースの存在チェック Dim FESAccessLog FESAccessLog = 1 On Error Resume Next Err.Clear() Dim ALdb Set ALdb = Server.CreateObject("ADODB.Connection") ALdb.ConnectionTimeout = 60 ALdb.CommandTimeout = 60 ALdb.Open "Provider=SQLOLEDB.1;Persist Security Info=False;User ID=fesaluser;Password=fesal;Initial Catalog=fesaccesslog;Data Source=" & SQLServer If Err.Description <> "" Then FESAccessLog = 0 End If On Error Goto 0 '演習会社ログイン時の戻り先フラグ(演習状況記帳チェックから飛んだ場合は"Check"になる) Session(HomeAlias & "AutoLoginReturn") = "" & Request("AutoLoginReturn") Dim Query Dim Content Dim i Dim ErrMsg Dim GakuseiBango, Password Dim bAdminLogin Dim Admin Admin = Request("admin") 'Response.Write(Admin) 'Exit Sub If Admin = "" Then Admin = "0" 'Nullなら0 ElseIf Not(IsNumeric(Admin)) Then Admin = "0" '数字で無ければ0 End If bAdminLogin = 0 GakuseiBango = UCase(Request("GakuseiBango")) Password = UCase(Request("Password")) 'Response.Write(Password) 'Exit Sub 'パスワードの半角シャープを全角変換する(クエリ文字列に指定できないため) Password = Replace(Password, "#", "#") 'パスワードの半角パーセントを全角変換する(クエリ文字列に指定できないため) Password = Replace(Password, "%", "%") Dim GakuseiBangoErr GakuseiBangoErr = 0 'オートログイン(071106小野) Dim AutoLogin AutoLogin = Request("AutoLogin") Dim AutoLoginEnshuCD AutoLoginEnshuCD = Request("AutoLoginEnshuCD") Dim AutoLoginKaisyaCD AutoLoginKaisyaCD = Request("AutoLoginKaisyaCD") Dim AutoLoginAdmin AutoLoginAdmin = Request("AutoLoginAdmin") If AutoLoginAdmin <> "1" And AutoLogin <> "1" Then '運用管理オートログインボタンの戻り先を演習会社ログイン画面にするフラグを降ろす Session(HomeAlias & "EnshuKaishaLogin") = "" End If If AutoLoginAdmin = "1" Then Session(HomeAlias & "AutoLoginAdmin") = "1" If "" & GB_AdminPCE = "" Then Query = "exec SPMシステム情報取得 '" & GB_SystemCD & "'" Set Content = OpenQuery(Query) Do While Not(Content.EOF Or Content.EOF) GakuseiBango = UCase(Content.Fields("管理者コード")) Password = UCase(Content.Fields("パスワード")) Content.MoveNext Loop Else '演習管理者 Query = "exec SPM演習取得 '" & GB_SystemCD & "', '" & AutoLoginEnshuCD & "'" 'Response.Write(Query) 'Exit Sub Set Content = OpenQuery(Query) If Not(Content.BOF Or Content.EOF) Then GakuseiBango = UCase(Content.Fields("演習管理者ID")) Password = UCase(Content.Fields("演習管理者パスワード")) End If End If End If Dim IPAddr IPAddr = Request.ServerVariables("REMOTE_ADDR") Dim SystemCD Query = "exec SPMシステム一覧" Set Content = OpenQuery(Query) Do While Not(Content.BOF Or Content.EOF) If Content.Fields("デフォルトフラグ") = 1 Then SystemCD = Content.Fields("システムCD") End If Content.MoveNext Loop Session(HomeAlias & "SystemCD") = SystemCD GB_SystemCD = SystemCD If (GakuseiBango = UCase("sj4system")) And (Password = UCase("99999999")) Then Response.Redirect("system.asp") Exit Sub End If '2003/1/22 マスターパスワードでの管理者ログインを可能にする '2007/9/18 SFCサーバーではマスターパスワードを許可しない ' If InStr(Request.ServerVariables("SERVER_NAME"),".sfc-jpn.jp") < 1 Then If Right(Request.ServerVariables("SERVER_NAME"),11) <> ".sfc-jpn.jp" Then If (GakuseiBango = UCase("sj7admin") And Password = UCase("sj7master")) Or (GakuseiBango = UCase("sj6admin") And Password = UCase("sj6master")) Or (GakuseiBango = UCase("sj5admin") And Password = UCase("sj5master")) Or (GakuseiBango = UCase("sj4admin") And Password = UCase("sj4master")) Then bAdminLogin = 1 End If End If Query = "exec SPMシステム情報取得 '" & GB_SystemCD & "'" Set Content = OpenQuery(Query) Do While Not(Content.EOF Or Content.EOF) If UCase(Content.Fields("管理者コード")) = GakuseiBango Then If UCase(Content.Fields("パスワード")) = Password Then bAdminLogin = 1 Else ErrMsg = "パスワードが違います" End If End If Content.MoveNext Loop If bAdminLogin = 1 Then Session(HomeAlias & "AutoLoginButton") = Admin 'オートログインセッション更新 Session(DBName & "Admin") = Admin Session(DBName & "AdminPC") = Admin Session(HomeAlias & "AdminPCE") = "" Session(HomeAlias & "GakuseiNo") = GakuseiBango Session(HomeAlias & "GakuseiShimei") = "運用管理者" Session(HomeAlias & "EnshuKubun") = "" Session(HomeAlias & "EnshuKubunmei") = "" Session(HomeAlias & "EnshuCD") = "" Session(HomeAlias & "TenkiKubun") = "" Session(HomeAlias & "Shohizei") = "" Session(HomeAlias & "KaisyaCD") = "" Session(HomeAlias & "KaisyaMeisyo") = "" Session(HomeAlias & "KaisyaRyakuMeisyo") = "" Session(HomeAlias & "EnshuMeisyo") = "運 用 管 理" Session(HomeAlias & "Gyosyu") = "" Session(HomeAlias & "GyosyuMeisyo") = "" Session(HomeAlias & "GyosyuKubun") = "" Session(HomeAlias & "JisyaFlag") = "" Session(HomeAlias & "GyosyuColor") = "#E5ACE5" Session(HomeAlias & "GyosyuColorObj") = "r" Session(HomeAlias & "KaikeiKaishibi") = "" Session(HomeAlias & "KaikeiSyuryobi") = "" Session(HomeAlias & "Kaimeibi") = "" If AutoLoginAdmin <> "1" Then If FESAccessLog > 0 Then Query = "exec SP0アクセスログ更新 '" & HomeAlias & "', '" & GakuseiBango & "', '" & Password & "', '" & IPAddr & "', '3'" Set Content = FESALQuery(Query) Else Query = "exec SP0アクセスログ更新 '" & GB_SystemCD & "', '" & GakuseiBango & "', '" & Password & "', '" & IPAddr & "', '3', " & AccessLogTerms 'Set Content = OpenQuery(Query) End If End If If Session(HomeAlias & "EnshuKaishaLogin") = "" Then Response.Redirect("/" & HomeAlias & "/admin/admenu.asp") Else '演習会社ログインからの戻りの場合 If Session(HomeAlias & "AutoLoginReturn") = "Check" Then Response.Redirect("/" & HomeAlias & "/admin/syokai/fm_kityochk_ichiran.asp?EnshuCD=" & Session(HomeAlias & "EnshuKaishaLogin")) Else Response.Redirect("/" & HomeAlias & "/admin/enshu/fm_enshukaishalogin.asp?EnshuCD=" & Session(HomeAlias & "EnshuKaishaLogin")) End If End If ' Response.Redirect("/" & HomeAlias & "/admin/default.asp?admin=" & Admin) Exit Sub End If Query = "exec SPM演習一覧 '" & GB_SystemCD & "',0" Set Content = OpenQuery(Query) Do While Not(Content.BOF Or Content.EOF) '演習管理者オートログインの場合は当該管理者に複数演習の権限が存在する可能性があるので演習を絞り込む If AutoLoginEnshuCD = "" Or UCase(Content.Fields("演習CD")) = UCase(AutoLoginEnshuCD) Then If UCase(Content.Fields("演習CD")) = GakuseiBango Or UCase(Content.Fields("演習管理者ID")) = GakuseiBango Then If Content.Fields("演習管理者パスワード") <> "" Then If UCase(Content.Fields("演習管理者パスワード")) = Password Then Session(HomeAlias & "AutoLoginButton") = "1" 'オートログインセッション更新 Session(HomeAlias & "AdminPCE") = "" & Content.Fields("演習CD") Session(HomeAlias & "GakuseiNo") = LCase(GakuseiBango) Session(HomeAlias & "GakuseiShimei") = "演習管理者" Session(HomeAlias & "EnshuKubun") = "" Session(HomeAlias & "EnshuKubunmei") = "" Session(HomeAlias & "EnshuCD") = LCase(GakuseiBango) Session(HomeAlias & "EnshuMeisyo") = Content.Fields("演習名称") Session(HomeAlias & "TenkiKubun") = "" Session(HomeAlias & "Shohizei") = "" Session(HomeAlias & "KaisyaCD") = "" Session(HomeAlias & "Gyosyu") = "" Session(HomeAlias & "GyosyuMeisyo") = "" Session(HomeAlias & "GyosyuKubun") = "" Session(HomeAlias & "JisyaFlag") = "" Session(HomeAlias & "GyosyuColor") = "#E5ACE5" Session(HomeAlias & "GyosyuColorObj") = "r" Session(HomeAlias & "KaikeiKaishibi") = "" Session(HomeAlias & "KaikeiSyuryobi") = "" Session(HomeAlias & "Kaimeibi") = "" Session(HomeAlias & "EnshuID") = "" & UCase(Content.Fields("演習管理者ID")) Session(HomeAlias & "EnshuPassword") = "" & UCase(Content.Fields("演習管理者パスワード")) Session(DBName & "Admin") = "2" If AutoLoginAdmin <> "1" Then If FESAccessLog > 0 Then Query = "exec SP0アクセスログ更新 '" & HomeAlias & "', '" & GakuseiBango & "', '" & Password & "', '" & IPAddr & "', '2'" Set Content = FESALQuery(Query) Else Query = "exec SP0アクセスログ更新 '" & GB_SystemCD & "', '" & GakuseiBango & "', '" & Password & "', '" & IPAddr & "', '2', " & AccessLogTerms 'Set Content = OpenQuery(Query) End If End If ' Response.Redirect("/" & HomeAlias & "/admin/admenu_enshu_sentaku.asp?EnshuID=" & GakuseiBango & "&EnshuPassword=" & Password & "&EnshuCD=" & AutoLoginEnshuCD) Response.Redirect("/" & HomeAlias & "/admin/admenu_enshu_sentaku.asp?EnshuCD=" & AutoLoginEnshuCD) Exit Sub Else ErrMsg = "パスワードが違います" End If End If End If End If Content.MoveNext Loop Query = "exec SPMユーザー取得 '" & GB_SystemCD & "','" & GakuseiBango & "'" Set Content = OpenQuery(Query) If Not(Content.BOF Or Content.EOF) Then If UCase(Content.Fields("学生番号")) = GakuseiBango Then If UCase(Content.Fields("パスワード")) = Password Or IsNull(Content.Fields("パスワード")) Then Session(HomeAlias & "GakuseiNo") = GakuseiBango Session(HomeAlias & "GakuseiShimei") = Content.Fields("氏名") Session(DBName & "Admin") = "0" Call Application.Lock() Query = "exec SPMユーザーログイン日更新 '" & GB_SystemCD & "','" & GakuseiBango & "', '" & Date() & "'" Set Content = OpenQuery(Query) Call Application.Unlock() 'オートログイン(071106小野) If AutoLogin = "1" Then Response.Redirect("./user/default_bin.asp?AutoLogin=1&EnshuCD=" & AutoLoginEnshuCD & "&AutoLoginKaisyaCD=" & AutoLoginKaisyaCD) Else If FESAccessLog > 0 Then Query = "exec SP0アクセスログ更新 '" & HomeAlias & "', '" & GakuseiBango & "', '" & Password & "', '" & IPAddr & "', '1'" Set Content = FESALQuery(Query) Else Query = "exec SP0アクセスログ更新 '" & GB_SystemCD & "', '" & GakuseiBango & "', '" & Password & "', '" & IPAddr & "', '1', " & AccessLogTerms 'Set Content = OpenQuery(Query) '内蔵アクセスログは廃止 End If End If If GB_IEmode = "1" Then Response.Redirect("./user") Else Response.Redirect("./help/helpdesk.asp?HelpTitle=HistoryBack") End If Exit Sub Else ErrMsg = "パスワードが違います" End If Else ErrMsg = "ログインIDがありません" GakuseiBangoErr = 1 End If Else If ErrMsg = "" Then ErrMsg = "ログインIDがありません" GakuseiBangoErr = 1 End If End If If FESAccessLog > 0 Then Query = "exec SP0アクセスログ更新 '" & HomeAlias & "', '" & GakuseiBango & "', '" & Password & "', '" & IPAddr & "', '0'" Set Content = FESALQuery(Query) Else Query = "exec SP0アクセスログ更新 '" & GB_SystemCD & "', '" & GakuseiBango & "', '" & Password & "', '" & IPAddr & "', '0', " & AccessLogTerms 'Set Content = OpenQuery(Query) End If %> <% = AppTitle %>
  <% Response.Write(ErrMsg) %> &GakuseiBangoErr=<% = GakuseiBangoErr %>">戻る <% = HtmlFooter %> <% End Sub 'FESアクセスログにクエリを送る Function FESALQuery(F_Query) Dim ALdb Set ALdb = Server.CreateObject("ADODB.Connection") ALdb.ConnectionTimeout = 60 ALdb.CommandTimeout = 60 ALdb.Open "Provider=SQLOLEDB.1;Persist Security Info=False;User ID=fesaluser;Password=fesal;Initial Catalog=fesaccesslog;Data Source=" & SQLServer Set Content = ALdb.Execute(F_Query) Do While Not Content Is Nothing If Content.Fields.Count > 0 Then Exit Do End If Set Content = Content.NextRecordSet() Loop Set FESALQuery = Content End Function %>