В тех же строках, что и JSON.encode, следует использовать join ().
function checkArrays( arrA, arrB ){
//check if lengths are different
if(arrA.length !== arrB.length) return false;
//slice so we do not effect the original
//sort makes sure they are in order
//join makes it a string so we can do a string compare
var cA = arrA.slice().sort().join(",");
var cB = arrB.slice().sort().join(",");
return cA===cB;
}
var a = [1,2,3,4,5];
var b = [5,4,3,2,1];
var c = [1,2,3,4];
var d = [1,2,3,4,6];
var e = ["1","2","3","4","5"]; //will return true
console.log( checkArrays(a,b) ); //true
console.log( checkArrays(a,c) ); //false
console.log( checkArrays(a,d) ); //false
console.log( checkArrays(a,e) ); //true
Проблема только в том, что вам нравятся типы, которые были проведены последними сравнительными тестами. Если вам нравятся типы, вам придется зацикливаться.
function checkArrays( arrA, arrB ){
//check if lengths are different
if(arrA.length !== arrB.length) return false;
//slice so we do not effect the orginal
//sort makes sure they are in order
var cA = arrA.slice().sort();
var cB = arrB.slice().sort();
for(var i=0;i<cA.length;i++){
if(cA[i]!==cB[i]) return false;
}
return true;
}
var a = [1,2,3,4,5];
var b = [5,4,3,2,1];
var c = [1,2,3,4];
var d = [1,2,3,4,6];
var e = ["1","2","3","4","5"];
console.log( checkArrays(a,b) ); //true
console.log( checkArrays(a,c) ); //false
console.log( checkArrays(a,d) ); //false
console.log( checkArrays(a,e) ); //false
Если порядок должен оставаться таким же, как это просто цикл, никакой сортировки не требуется.
function checkArrays( arrA, arrB ){
//check if lengths are different
if(arrA.length !== arrB.length) return false;
for(var i=0;i<arrA.length;i++){
if(arrA[i]!==arrB[i]) return false;
}
return true;
}
var a = [1,2,3,4,5];
var b = [5,4,3,2,1];
var c = [1,2,3,4];
var d = [1,2,3,4,6];
var e = ["1","2","3","4","5"];
console.log( checkArrays(a,a) ); //true
console.log( checkArrays(a,b) ); //false
console.log( checkArrays(a,c) ); //false
console.log( checkArrays(a,d) ); //false
console.log( checkArrays(a,e) ); //false
Проверьте AUTH_USER
переменная запроса. Это будет пусто, если Ваше веб-приложение предоставит анонимный доступ, но если использование Вашего сервера, основной или Windows интегрировал аутентификацию, это будет содержать имя пользователя аутентифицируемого пользователя.
В домене Active Directory, если Ваши клиенты выполняют Internet Explorer и Ваш веб-сервер / полномочия файловой системы, настроены правильно, IE будет тихо утверждать, что их доменные учетные данные к Вашему серверу и AUTH_USER
будут MYDOMAIN\user.name
без пользователей, имеющих необходимость явно входить в систему Вашего веб-приложения.
Вы могли, вероятно аутентифицировать пользователь в Apache с mod_auth_kerb путем требования аутентифицируемого доступа к некоторым файлам †¦, я думаю, что путь, имя пользователя должно также быть доступным в переменных среды PHP где-нибудь †¦, вероятно, лучше всего для сверений <?php phpinfo(); ?>
, как только Вы получаете его выполнение.
Посмотрите на библиотечные функции PHP LDAP: http://us.php.net/ldap .
Active Directory [главным образом] соответствует стандарту LDAP.
Нет. Но то, что можно сделать, сделали, чтобы администратор Active Directory включил LDAP так, чтобы пользователи могли поддержать один набор учетных данных
Используйте этот код:
shell_exec("wmic computersystem get username")
Если вы используете Apache под Windows, то вы можете установить mod_auth_sspi с
https://sourceforge.net/projects/mod-auth-sspi/
Инструкции находятся в файле INSTALL, а также есть пример whoami.php. (Это просто случай копирования файла mod_auth_sspi.so в папку и добавления строки в httpd.conf.)
Как только он будет установлен, необходимые настройки будут сделаны в httpd. conf для защиты желаемых директорий, PHP заполнит $_SERVER['REMOTE_USER']
с пользователем и доменом ('USER\DOMAIN') аутентифицированного пользователя в IE -- или запросит и аутентифицирует его в Firefox перед передачей в.
Информация основана на сеансах, поэтому единственная(ish) подпись возможна даже в Firefox...
-Craig
. У меня есть php mysql, работающий на IIS - я могу использовать $ _ SERVER ["AUTH_USER"]
, если я включаю проверку подлинности Windows в IIS -> Проверка подлинности и выключаю анонимную проверку подлинности (важно )
Я использовал это, чтобы получить моего пользователя и домен:
$user = $_SERVER['AUTH_USER'];
$ user
вернет значение вроде: DOMAIN \ username
в нашей сети, и тогда это просто случай удаление ДОМЕН \
из строки.
Пока это работало в IE, FF, Chrome, Safari (проверено).