Architecture Net



         

Разрешение принципала - часть 2


String *idl = "HPDESKTOP\\Administrator"; // Администратор String *id2 = "HPDESKTOP\\PeterT"; // Строка
PrincipalPermission *ppl =
new PrincipalPermission(idl, adminRole); PrincipalPermission *pp2 =
new PrincipalPermission(id2, adminRole);
IPermission *ipermission = pp2->Union(ppl); // Объединение - try {
ipermission->Demand() ; Console: :WriteLine(
"Demand for either administrator succeeded."); // "Запрос для любого из администраторов успешный." }
catch(SecurityException *) {
Console::WriteLine (
"Demand for either administrator failed.");
// "Запрос для любого из администраторов потерпел неудачу."
}

Затем код смотрит, запущен ли он личностью любого из администраторов.

Principal-Permission *pp3 =
new PrincipalPermission(0, adminRole);
try
{
pp3->Demand(); Console::WriteLine(
"Demand for any administrator succeeded.");
// "Запрос для любого администратора успешный."
}
catch(SecurityException *)
{
Console::WriteLine(
"Demand for any administrator failed.");
// "Запрос для любого администратора потерпел неудачу."
}

Когда пользователи не аутентифицированы, то даже если они действительно принадлежат соответствующим ролям, выполнение Demand (Требование) все равно будет неудачным.

CompEbook.ru Железо, дизайн, обучение и другие




Содержание  Назад  Вперед