2016-07-07 36 views
1

メニューを追加しようとしているPHPファイルTableUpdates.phpがあります。誰がログインしているかを判断するMenuCheck.aspxファイルがあり、次にinclude正しいMenu.phpファイルがあります。しかし、私はこれを動作させることはできません。PHPページからaspxファイルを呼び出す

<head> 
    <meta charset="utf-8" /> 
    <title>Table Updates</title> 
    <link rel="StyleSheet" href="StyleSheet.css" type="text/css"> 
</head> 
<body> 
    <!-- #include file="MenuCheck.aspx"--> 

私もで<!-- #include file="MenuCheck.aspx"-->を切り替えてみた:

<script type="text/javascript"> 
<% if (User.Identity.Name == @"CORP\mmm976") {%> 
<!-- #include file="AdminMenu.php"--> 
<% } else if (User.Identity.Name == @"CORP\ibb601"){%> 
<!-- #include file="AdminMenu.php"--> 
<% } else { %> 
<!-- #include file="Menu.php"--> 
<% } %> 
</script> 

どちらの作品ここTableUpdates.phpの関連部分です。 MenuCheck.aspxはこれです:

<%@ Page Language="C#" %> 

<% if (User.Identity.Name == @"CORP\mmm976") {%> 
<!-- #include file="AdminMenu.php"--> 
<% } else if (User.Identity.Name == @"CORP\ibb601"){%> 
<!-- #include file="AdminMenu.php"--> 
<% } else { %> 
<!-- #include file="Menu.php"--> 
<% } %> 

これはうまくいかず、私は何をしますか?

+0

のように背後にあるコードに[WebMethod属性]のようなメソッドを持っている場合、それは可能であり、誰かが直接 'AdminMenu.php'を開いた場合はどう?要求を処理する言語でユーザー検証が必要です。 – jeroen

+0

これはイントラネットサイトです。誰かが 'AdminMenu.php'を直接開く方法を見つけた場合、もっと多くのレポートページへのリンクしか表示されません。それは、このサイトホストがすべてレポートです。見ている人が私でない場合、私はテストのために使っているもののいくつかを見ていない、彼らが何であるか不思議でなければ本当に深刻なものはない。 – Mike

答えて

0

私はPHPの回避策を作成しました。私は認証されたユーザーを取得しようとしているので、私は自分のサーバー管理者に匿名認証をオフにして、PHP $_SERVER['AUTH_USER']にはブランクではなくローカルユーザーを持たせるようにしました。それから私は、メニューのHTMLのボディでPHPファイルにこれを追加しました:

<?php 
     if ($_SERVER['AUTH_USER'] == 'CORP\mmm976'){ 
      include('AdminMenu.php'); 
     }elseif ($_SERVER['AUTH_USER'] == 'CORP\ibb601'){ 
      include('AdminMenu.php'); 
     }else { 
      include('Menu.php'); 
     } 
    ?> 

私はまだのaspxファイルのボディに<!-- #include file="MenuCheck.aspx"-->を持っています。

これは実際にaspxファイルを呼び出して私のPHPファイルで結果を取得するわけではありませんが、結果は私が欲しかった=>管理者は管理者レポートにアクセスできます。彼らが必要とする報告書だけに

0

1つのスクリプトで2つの異なる言語を使用することは不可能です。 ASPホスティングでASPスクリプトを作成し、PHPスクリプトからユーザーを認証するためのAPIを作成することができます。または、PHPから行うだけです:

file_get_contents('https://yourserver.com/asp-auth.php?login=xxx&pass=xxx'); 

ASPスクリプトは正しいデータを返さなければなりません。

ASPスクリプトにPHPコードを含めることはできません。また、ASPコードをPHPスクリプトに含めることはできません。

両方のスクリプトが1つのホスティングで動作する場合もありますが、処理するためのWebサーバールールを作成するだけです.phpと.asp。

+0

申し訳ありませんが、私は混乱しています。だから私はユーザーを認証するためのAPIを作成する必要がありますか?あるいは、 'file_get_contents'は動作しますか?どのように私はADに対してユーザーをチェックするのだろうか? ASPXスクリプトはWindowsログインから 'User'を引き出し、正しいメニューを' include 'しています。 – Mike

+0

'MenuCheck.aspx'は' include'ステートメントを返すべきです。どうすればそれを使うことができますか?私は '<?php file_get_contents( 'http://engsys.corp.ftr.com/MenuCheck.aspx');を追加しようとしました。 ?>、しかし何も起こらなかった。 – Mike

0

は、ASPXページはこれは非常に悪い考えのように聞こえるこの

[WebMethod] 
public string getHello(string name) 
{ 
    return "Hello " + name; 
} 
関連する問題