0
ここでC++のnoobは、Javaサーブレットを使用してWindowsユーザーを認証する方法を提供しています。ここでJNI LogonUserを使用してユーザーを認証するには?
は、私は、ユーザーのユーザー名、ドメイン、およびパスワードを使用して、私のJavaサーブレットからJNI呼び出しで取るために一緒に入れているコードは次のとおりです。
#include <stdio.h>
#include <string.h>
#include <sys/stat.h>
#include <stdlib.h>
#include "Validate.h"
JNIEXPORT jstring JNICALL Java_Validate_takeInfo(JNIEnv *env, jobject obj, jstring domain, jstring id, jstring idca, jstring password)
{
const char *nt_domain;
const char *nt_id;
const char *nt_idca;
const char *nt_password;
nt_domain = env->GetStringUTFChars(domain, NULL);
nt_id = env->GetStringUTFChars(id, NULL);
nt_idca= env->GetStringUTFChars(idca, NULL);
nt_password = env->GetStringUTFChars(password, NULL);
handle hToken = 0;
char *otherString;
otherString = LogonUser(nt_id, nt_domain, nt_password, LOGON32_LOGON_NETWORK, LOGON32_PROVIDER_DEFAULT, &hToken);
jstring newString = env->NewStringUTF((const char*)otherString);
return newString;
}
コンパイルしようとしたとき、私はこれらのエラーを取得:
D:\JNI\Validate.cpp(21) : error C2065: 'handle' : undeclared identifier
D:\JNI\Validate.cpp(21) : error C2146: syntax error : missing ';' before
ier 'hToken'
D:\JNI\Validate.cpp(21) : error C2065: 'hToken' : undeclared identifier
D:\JNI\Validate.cpp(24) : error C2065: 'LOGON32_LOGON_NETWORK' : undeclar
tifier
D:\JNI\Validate.cpp(24) : error C2065: 'LOGON32_PROVIDER_DEFAULT' : undec
dentifier
D:\JNI\Validate.cpp(24) : error C3861: 'LogonUser': identifier not found
私は必要なものを含めていないと仮定しています。どんな助けでも大歓迎です。