Реклама:

<asp:LoginStatus runat="server' I0="_status" Logoi,tAction="Refresn" />

Служба Role Manager

Role Manager обеспечивает API для создания и удаления ролей, назначения пользователей на эти роли и выполнения проверок ролей. Статический класс Roles обеспечивает интерфейс, а все вызовы методов направляются к сконфигурированному провайдеру ролей. Кроме того, Role Manager содержит модуль HTTP, который извлекает роли для пользователя из провайдера и объединяет с Context .User (а также опционально кэширует их). В табл. 6-4 приведены методы класса Roles.

Табл. 6-4. Методы класса Role

Метод

Описание

CreateRole, Delete Role

Создает или удаляет роль из хранилища

AddUserToRole, RemoveUserFromRole

Назначает или удаляет пользователей из роли

GetAllRoles, GetRoiesForUser

Извлекает все роли или роли для специфического

 

пользователя

IsUserlnRole

Выполняет проверку на основе ролей

API данного инструмента довольно простой. Далее приведен пример наиболее важных методов.

Базовый API провайдера ролей

<%@ Page Language-'Cs" *>

<!D0CTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"'>

<script runat="server">

// Создаем роли

protected void _btnCreateRoles_Click(object sender, EventArgs e) {

Roles.CreateRole("NormalUser"); Roles,CreateRole("SpecialUser");

I

// Удаляем роли

protected void _btnDeleteRoles_Click(ol)ject sender, EventArgs e)

{

Roles.Delet eRo)e("No г malUser"); Ro Les• DeleteRole'' Spec! alUser' )

»

// Добавляем пользователя в роль

protected void btnAddAlice_Cliok(object sender, EventArgs e) {

Roles.AddUserToRolet"Alice", "SpecialUser");

>

// Удаляем пользователя из роли

protected void _btnRemoveAlice_Click(object sender, EventArgs e)

{

Roles.RemoveUserFromRole("A]ice", "SpecialUser");

>

// Извлекаем все роли

protected void _btnGetAHRoles_Click(object sender, EventArgs e) {

stringf] roles = Roles.Get.A13Roles(); _litOutpLit.Text = string.Join("<br />", roles); > ~

// Извлекаем все роли для пользователя Alice protected void _btnGetAHRolesForAlice_Click<object sender, EveптArgs e)

<

string[] roles = Roles.GetRolesForUser("Alice"); _litOutput.Text = string.Joint"<br />". roles);

>

// Выполняем проверку ролей

protected void _btnIsAliceSpecial_Click(object sender, EventArgs e)

{

bool inRole = Roles. IsUserT.riRole( "Alice", "SpecialUser"); _litOutput.Texl = inRole. ToStringO;

)

</script>

<html xmlns="http://www.w3.оrg/1999/xhtml"> <head id="Head1" runat="server">

<title>Basic Roles APK/title> </bead> <body>

<form id="form1" runat="server"> <div>

<asp:Button runat="server" ID="_btnCreateRoles"

Text="Create Roles" OnClick="_btnCreateRoles_Click" /> <asp:Button runüt="server" ID="_btnDeleteRoles"


⇐ Предыдущая страница| |Следующая страница ⇒