AuthorizationStoreRoleProvider.DeleteRole(String, Boolean) 메서드
정의
중요
일부 정보는 릴리스되기 전에 상당 부분 수정될 수 있는 시험판 제품과 관련이 있습니다. Microsoft는 여기에 제공된 정보에 대해 어떠한 명시적이거나 묵시적인 보증도 하지 않습니다.
권한 부여 관리자 정책 저장소에서 역할을 제거합니다.
public:
override bool DeleteRole(System::String ^ roleName, bool throwOnPopulatedRole);
public override bool DeleteRole(string roleName, bool throwOnPopulatedRole);
override this.DeleteRole : string * bool -> bool
Public Overrides Function DeleteRole (roleName As String, throwOnPopulatedRole As Boolean) As Boolean
매개 변수
- roleName
- String
삭제할 역할의 이름입니다.
- throwOnPopulatedRole
- Boolean
이면 true하나 이상의 멤버가 있는 경우 roleName 예외를 throw합니다.
반품
true역할이 삭제되었으면 이고, 그렇지 않으면 . false
예외
roleName은 null입니다.
roleName에는 하나 이상의 멤버가 throwOnPopulatedRole있으며 true
-또는-
구성된 applicationName 것을 찾을 수 없습니다.
-또는-
구성된 scopeName 것을 찾을 수 없습니다.
-또는-
authorization-manager 런타임이 서버에 설치되어 있지 않습니다.
이 특성은 connectionStringName 존재하지 않는 파일에 대한 연결 문자열을 참조합니다.
인스턴스는 AuthorizationStoreRoleProvider 파일 기반 정책 저장소로 구성되며 현재 신뢰 수준에서는 파일에 대한 읽기 액세스가 허용되지 않습니다.
예제
다음 예제에서는 authorization-manager 정책 저장소에서 역할을 삭제합니다. 역할 관리를 사용하도록 설정하는 Web.config 파일의 예는 다음을 참조하세요 AuthorizationStoreRoleProvider.
<%@ Page Language="C#" %>
<%@ Import Namespace="System.Web.Security" %>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<script runat="server">
string[] rolesArray;
public void Page_Load(object sender, EventArgs args)
{
if (!IsPostBack)
{
// Bind roles to ListBox.
rolesArray = Roles.GetAllRoles();
RolesListBox.DataSource = rolesArray;
RolesListBox.DataBind();
}
}
public void DeleteRole_OnClick(object sender, EventArgs args)
{
string delRole = "";
try
{
delRole = RolesListBox.SelectedItem.Value;
Roles.DeleteRole(delRole);
Msg.Text = "Role '" + Server.HtmlEncode(delRole) + "' deleted.";
// Re-bind roles to ListBox.
rolesArray = Roles.GetAllRoles();
RolesListBox.DataSource = rolesArray;
RolesListBox.DataBind();
}
catch
{
Msg.Text = "Role '" + Server.HtmlEncode(delRole) + "' <u>not</u> deleted.";
}
}
</script>
<html xmlns="http://www.w3.org/1999/xhtml" >
<head>
<title>Sample: Delete Role</title>
</head>
<body>
<form runat="server" id="PageForm">
<h3>
Delete Role</h3>
<asp:Label ID="Msg" ForeColor="maroon" runat="server" /><br />
<table border="0">
<tr>
<td valign="top">
Delete Role:</td>
<td valign="top">
<asp:ListBox ID="RolesListBox" runat="server" Rows="8" /></td>
<td valign="top">
<asp:Button Text="Delete Role" ID="DeleteRoleButton" runat="server" OnClick="DeleteRole_OnClick" /></td>
</tr>
</table>
</form>
</body>
</html>
<%@ Page Language="VB" %>
<%@ Import Namespace="System.Web.Security" %>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<script runat="server">
Dim rolesArray() As String
Public Sub Page_Load(ByVal sender As Object, ByVal args As EventArgs)
If Not IsPostBack Then
' Bind roles to ListBox.
rolesArray = Roles.GetAllRoles()
RolesListBox.DataSource = rolesArray
RolesListBox.DataBind()
End If
End Sub
Public Sub DeleteRole_OnClick(ByVal sender As Object, ByVal args As EventArgs)
Dim delRole As String
Try
delRole = RolesListBox.SelectedItem.Value
Roles.DeleteRole(delRole)
Msg.Text = "Role '" & Server.HtmlEncode(delRole) & "' deleted."
' Re-bind roles to ListBox.
rolesArray = Roles.GetAllRoles()
RolesListBox.DataSource = rolesArray
RolesListBox.DataBind()
Catch
Msg.Text = "Role '" & Server.HtmlEncode(delRole) & "' <u>not</u> deleted."
End Try
End Sub
</script>
<html xmlns="http://www.w3.org/1999/xhtml" >
<head>
<title>Sample: Delete Role</title>
</head>
<body>
<form runat="server" id="PageForm">
<h3>
Delete Role</h3>
<asp:Label ID="Msg" ForeColor="maroon" runat="server" /><br />
<table border="0">
<tr>
<td valign="top">
Delete Role:</td>
<td valign="top">
<asp:ListBox ID="RolesListBox" runat="server" Rows="8" /></td>
<td valign="top">
<asp:Button Text="Delete Role" ID="DeleteRoleButton" runat="server" OnClick="DeleteRole_OnClick" /></td>
</tr>
</table>
</form>
</body>
</html>
설명
DeleteRole 메서드는 Roles 클래스에서 호출되어 ASP.NET 애플리케이션의 구성 파일(Web.config)에 지정된 권한 부여 관리자 정책 저장소에서 역할을 삭제합니다. 역할이 삭제되면 해당 역할과 연결된 사용자 목록도 정책 저장소에서 삭제됩니다. 데이터베이스의 사용자 정보는 영향을 받지 않습니다.
이 throwOnPopulatedRole경우 true 예외가 throw되고 매개 변수로 식별되는 roleName 역할에 하나 이상의 멤버가 있는 경우 역할이 삭제되지 않습니다. 이 throwOnPopulatedRole경우 false 역할이 비어 있는지 여부에 관계없이 삭제됩니다.