Я работаю над приложением Silverlight/WPF и пытаюсь разрешить определенным пользователям доступ к веб-сайту. Можно ли разрешить пользователям с помощью текстового поля вводить имя пользователя? Затем он будет проанализирован до Правила авторизации IIS .NET, чтобы разрешить доступ этому конкретному пользователю.
Например, если я введу здесь имя пользователя.
Я хочу, чтобы это было отправлено сюда...
<system.web>
<roleManager enabled = "false" />
<compilation debug = "true" targetFramework = "4.0" />
<identity impersonate = "true" />
<authentication mode = "Windows" />
<authorization>
<allow users = "AX/Axxxxxx"/>
Я предполагаю, что мне нужно написать синтаксис в файле xaml.cs? Где ему нужно проверить правильное значение в текстовом поле, а затем продолжить авторизацию, как только я нажму кнопку «ОК».
Могу ли я сделать, например
if (UserNameBox.text.Contains("AX\A") )
{ do something...
}
Я думаю проверить только эти первые 4 буквы, так как остальные являются случайными числами. Возможно ли это и как мне это сделать?





Это сложный вопрос, на который мне трудно ответить кратко. Но одно можно сказать наверняка, у вас никогда не должно быть никаких проверок имени пользователя или пароля в коде silvelight, за исключением косметики. Вы должны передать учетные данные на сервер / API и выполнить там проверку. В противном случае любой хакер легко обойдет вашу защиту.
Поскольку похоже, что вы находитесь в домене Windows, вам не нужно собирать имя пользователя. Это уже передается в каждом запросе к серверу в токене kerberos. Если вы включите проверку подлинности Windows на сервере, вы можете выбрать имя пользователя здесь Thread.CurrentPrincipal.Identity.Name или подобное, в зависимости от того, какой у вас стек API.
Есть еще один пост SO, похожий на этот: Каков наилучший способ аутентификации/авторизации в Silverlight?
Нельзя ли их как-то по коду добавить в файл web.config? Я не думаю, что полностью понимаю, как ваш ответ может решить мою проблему ..?
Это не было целью решить ее, а не подтолкнуть вас в правильном направлении. У вас есть пользователи в AD? То, как вы можете настроить контроль доступа, во многом зависит от того, какой у вас бэкэнд.
Спасибо за это, я проверю это и постараюсь следовать вашим советам.