после многих исследований я пытаюсь, как это работает, но я хочу знать, работает индекс или нет
public async Task<ActionResult> Index1(Recherche m)
{
//var rentals = userIndex(m);
var userIndex = Builders<Utilisateur>.IndexKeys;
var indexModel = new CreateIndexModel<Utilisateur>(userIndex.Ascending(x => x.login));
await context.utilisateurs.Indexes.CreateOneAsync(indexModel).ConfigureAwait(false);
var filter = new BsonDocument("login", "admin");
var rentals = await context.utilisateurs.Find(filter).ToListAsync();
var model = new userList
{
Utilisateurs = rentals,
Motcle = m
};
return View(model);
}
Для Подобных UNIX систем Вы могли бы хотеть выполниться" echo ~username
" использование оболочки (так использование Runtime.exec()
для выполнения {"/bin/sh", "-c", "echo ~username"}
).
userdir префикс (например, '/home' или '/export/home') мог быть элементом конфигурации. Затем приложение может добавить произвольное имя пользователя к тому пути.
Протест: Это разумно не взаимодействует с ОС, таким образом, Вам не повезло бы, если бы это была система Windows с userdirs на различных дисках, или на Unix с домашним расположением dir как/home/f/foo,/home/b/bar.
Можно ли проанализировать/etc/passwd?
, например:
cat /etc/passwd | awk -F: '{printf "User %s Home %s\n", $1, $6}'
Найдите обертку Java для getpwuid/getpwnam(3)
функции, они просят у системы информацию о пользователе uid или именем для входа в систему, и Вы возвращаете всю информацию включая корневой каталог по умолчанию.
Для нахождения корневого каталога для пользовательского НЕЧТО в системе выхода UNIX используйте ~FOO
. Для текущего пользователя используйте ~
.
Если Вы хотите найти корневой каталог определенного пользователя, я не полагаю, что можно сделать это непосредственно.
, Когда я должен был сделать это прежде от Java, я должен был написать некоторый собственный код JNI, который перенес семейство UNIX getpwXXX()
вызовов.
Можно использовать переменную среды $HOME
для этого.
Обычно Вы используете оператор
String userHome = System.getProperty( "user.home" );
для получения корневого каталога пользователя на любой платформе. См. документацию метода для getProperty для наблюдения то, что еще можно получить.
могут быть проблемы доступа, которых Вы могли бы хотеть избежать при помощи этот обходное решение (Используя файл политики безопасности)
For an arbitrary user, as the webserver:
private String getUserHome(String userName) throws IOException{
return new BufferedReader(new InputStreamReader(Runtime.getRuntime().exec(new String[]{"sh", "-c", "echo ~" + userName}).getInputStream())).readLine();
}